Custom attributes (again)

Walter Bright newshound2 at digitalmars.com
Mon Apr 9 15:18:31 PDT 2012


On 4/6/2012 3:49 AM, Timon Gehr wrote:
> On 04/06/2012 12:23 PM, Walter Bright wrote:
>> On 4/6/2012 2:54 AM, Timon Gehr wrote:
>>> Should add additional information to the type Foo. I don't see any
>>> issues with
>>> it, and not supporting it would be very strange.
>>
>> How would:
>>
>> @attr(foo) int x;
>> int y;
>>
>> work? Are x and y the same type or not?
>
> Yes, they are.
>
> (But a future extension might leave this choice up to 'foo')
>
>> Now, consider:
>>
>> auto c = b ? x : y;
>>
>> What type does c have? int or @attr(foo)int ? And that's really just the
>> beginning. How about:
>>
>> struct S(T) {
>> T t;
>> }
>>
>> Instantiate it with S!int and S!(@attr(foo)int). Are those the same
>> instantiation, or different? If the same, does S.t have the attribute or
>> not?
>
> There is no such thing as an @attr(foo) int, because @attr is not a type
> constructor.

But you said it was added to the *type*.


More information about the Digitalmars-d mailing list