dmt: Python-like indentation in D programming language

Witold Baryluk witold.baryluk+d at gmail.com
Sat Apr 23 16:08:21 UTC 2022


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- at 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.




More information about the Digitalmars-d-announce mailing list