Custom attributes (again)

Walter Bright newshound2 at digitalmars.com
Fri Apr 6 03:23:56 PDT 2012


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? 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?

And, whatever you choose for the semantics, what is the sensible, intuitive rule 
for it?


More information about the Digitalmars-d mailing list