Andrei's list of barriers to D adoption

Jack Stouffer via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 7 11:45:15 PDT 2016


On Tuesday, 7 June 2016 at 18:24:33 UTC, Walter Bright wrote:
> Add:
>
>    @safe:
>
> at the top of your D module and you'll find the @system code.

Sure, that's easy to do in my code, but we were talking about 3rd 
party code. Plus the template problem comes up again: no one 
should be annotating their templates anything but maybe 
@property. So in practice, because you recommend (correctly) that 
everything should be a template, there's nothing to grep.

> You can also add:
>
>    @nogc:
>
> at the top, too. It isn't necessary to tediously annotate every 
> function.

Are you sure? @nogc is not like @safe in that it has a 
corresponding negating version to cancel the top level out. If I 
have @nogc at the top, there's no way to declare an allocating 
function in that file, therefore you have to use @nogc {}. This 
is why some have proposed hacks like !@nogc.




More information about the Digitalmars-d mailing list