DIP 1012--Attributes--Preliminary Review Round 1

Mike via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 27 17:32:33 PDT 2017


On Thursday, 27 July 2017 at 14:44:23 UTC, Mike Parker wrote:
> DIP 1012 is titled "Attributes".
>
> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1012.md

Terminology:
I was confused by the term "attribute group". Although the term 
is defined in the DIP, it implies a combination of attributes 
rather than a mutually exclusive attribute category.  Still 
having trouble understanding the DIP in detail due to this.

Rationale:
The rationale is weak, but reading the "Description" appears that 
there's more to this DIP than what the rationale describes.  I 
suggest an enumerated list of problem/solution pairs that this 
DIP addresses.

Description:
> It is also possible for the end user to directly control 
> core.attribute.defaultAttributeSet by editing DRuntime directly.

Does this mean we can create an @safe-by-default or 
@final-by-default runtime?  if so, cool!, but that should be 
spelled out in more detail in the rationale.

> @core.attribute.GarbageCollectedness.inferred
That is way too verbose.  Is that just an illustration or is that 
really what we would need to be typing out?

Breaking changes / deprecation process:
It would be nice to get some decision early from the leadership 
if they would be willing to deprecate the no-leading-@ on 
attributes that are used with such proliferation in D code, as 
otherwise there will be a lot of time reviewing and debating this 
for nothing.  Sounds like a risky gamble.

Mike


More information about the Digitalmars-d mailing list