On Friday, 1 April 2022 at 12:39:15 UTC, Marcone wrote:
Your dmt.d not compile for exe in Windows with last version of dmd 2.099.0

dmt.d(71): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. dmt.d(125): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. dmt.d(206): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. dmt.d(234): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead. dmt.d(212): Error: `pure` function `dmt.check_if_can_indent` cannot call impure function `dmt.strcmp_first2` dmt.d(212): Error: `@nogc` function `dmt.check_if_can_indent` cannot call non-@nogc function `dmt.strcmp_first2`

Thanks for the report. Please next time open a github issue for such things, so I can spot them and fix quickly.


The Error part was fixed in https://github.com/baryluk/dmt/commit/748de1d6726c0dbe97ba098b094588b4f13d7045

Something changed in the semantic analysis, that caused `strcmp_first2` to not be inffered correctly. Adding explicit attributes solves that.

I am aware of `Deprecation: Usage of the body keyword is deprecated. Use do instead.`. This is intentional because gdc in some older Linux distributions (including Debian stable) do not recognize `do`, but they do `body`. Once the newer versions of `gdc` trickle to more distros (and Debian stable), I will switch it to use `do` and remove use of `body`. The deprecation warning is harmless otherwise.


Reply via email to