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*.

Reply via email to