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.

Reply via email to