@safe(bool)

bitwise via Digitalmars-d digitalmars-d at puremagic.com
Sat Aug 19 10:10:54 PDT 2017


On Friday, 18 August 2017 at 23:48:05 UTC, Nicholas Wilson wrote:
>
> The only breaking changes are nothrow and pure get a leading 
> '@'.
> They will go through a proper deprecation process and I will be 
> very surprised if anything breaks. The new symbols added to 
> core.attributes can use `@future` if need be to further reduce 
> the likelihood of any breaking changes.

While the difference in attribute style(@, or no @) isn't that 
hard to deal with in practice, I am definitely in favor of a more 
consistent scheme. The current inconsistency looks bad, and IMO, 
that's a big deal. It makes D look tacky, and easy to dismiss.

> How would you know what attributes were in effect before?

It wouldn't matter if your intention was to clobber them anyways 
with @default. And if you only wanted to clobber @nogc, you could 
use @nogc(false), and it still wouldn't matter what the inferred 
attribute set was.


I'm still concerned about having to read code that's laced full 
of custom attributes, the resolution of which may span several 
files, templates, etc.

I also think this type of thing could have a detrimental effect 
on modularity when you end up having to include "myAttribs.d" in 
every single file you want to work on. I would much rather have a 
flexible in-language solution, or a solution that didn't require 
me to define my own attributes.


More information about the Digitalmars-d mailing list