Why do some attributes start with '@' while others done't?
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jan 21 18:20:52 PST 2016
On Friday, 22 January 2016 at 00:11:02 UTC, Brian Schott wrote:
> I wrote up the details of this idea as a DIP many months ago:
>
> http://wiki.dlang.org/DIP64
>
> It's already implemented in dfix. You can run "dfix --dip64
> file.d" and the changes will be made automatically.
The problem with DIP64 isn't that it breaks the code but that it
doesn't propose any meaningful system as a replacement. "Keywords
that are only attributes (i.e. they are not also storage classes
or type constructors)" doesn't sound as straightforward to me
considering https://dlang.org/spec/declaration.html#StorageClass
lists @-properties as storage classes and there isn't any other
list in spec I could find. There isn't even any strict definition
of "storage class" and "type qualifier / type constructor" in
language spec that could explain existing classification. For
example, I'd definitely place something like `@safe` in type
constructors but it seems to be considered a storage class.
That was the reason why I was insisting on reverting last attempt
to change @ requirements in dmd - breaking the code can be ok,
but not having a clear explanation of new design (and still
breaking the code) is not ok at all.
More information about the Digitalmars-d
mailing list