On 7/8/15 1:44 PM, Timon Gehr wrote:
On 07/08/2015 11:38 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?=
<schue...@gmx.net>" wrote:


I like "AliasTuple" as suggested by Martin, although it isn't a perfect
fit either when you think of `alias` template params, which don't match
`int`, while `int` can be an element of a TypeTuple.

But this works: alias Int = int;

The right fix for this issue is to fix the language. This does not make
any sense.

Yes, Walter at dconf also (I think) agreed this at least needs to be fixed:

alias Int = int;

template T(alias X) { enum a = 1;}

int x = T!Int.a; // error

In addition, this doesn't work:

alias foo = 2;

But this does:

int x = T!2.a;

I think alias should be the same anywhere you use it. And Alias<insert term here> for a name for what TypeTuple/Arguments/AliasSeq is, seems like an appropriate name given how template aliases work. Not my favorite, but it's at least based in logic.

-Steve

Reply via email to