Trying to use Mir ion, its a perfect example of the failure of D's attribute system

Adam D Ruppe destructionator at gmail.com
Fri Jan 20 02:18:24 UTC 2023


On Friday, 20 January 2023 at 01:45:31 UTC, Walter Bright wrote:
>> void process(void delegate() userData) @nogc {}
>
> If process calls userData, then that is as it should be.

Ideally, you'd be able to say `process` inherits the nogc-ness of 
`userData`.

> userData is just being "passed through" and not called, then 
> the easiest workaround is to cast it to something innocuous, or 
> use a union.

But this is also a major pain. D's attributes are one of the 
biggest misses of the language.


More information about the Digitalmars-d mailing list