All function attributes possible with "@"?

01010100b via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 15 09:31:02 PST 2016


On Thursday, 15 December 2016 at 10:50:39 UTC, ketmar wrote:
> On Thursday, 15 December 2016 at 07:13:18 UTC, 01010100b wrote:
>> And this particular change would probably not incur any 
>> breakage of existing code, unless people happen to be using 
>> UDAs with the same name as function attribute keywords.
>
> ...which is impossible, 'cause keyword can be used as 
> identifier.

Ah yes, true. Then we have

1. Allow @ on all function attribute keywords.
2. Allow @ on all keywords.

Neither of these is a breaking change, however future attributes 
which might get added will be a breaking change each.

And we have

3. Remove the @ and make keywords like nogc etc.
4. Add a set of strings of "language defined attributes" prefixed 
by # and put the existing ones in there.

Both of these are breaking. 3. is the "prettiest" but would give 
huge issues with possible future attributes. 4. is the most 
general and future-looking, so that future attributes will never 
require a breaking change.


More information about the Digitalmars-d mailing list