On Wednesday, 15 July 2015 at 15:29:25 UTC, Andrei Alexandrescu wrote:
It doesn't confuse me. We have type tuples and expression tuples defined in the spec. An alias tuple can have both expressions and types. It's not that confusing. What was confusing is that a TypeTuple was not a
type tuple as defined in the spec.

I agree.

Andrei

I want to point out that statement "an alias tuple can have both expressions and types" is somewhat between imprecise and just wrong with current compiler implementation. `X!(42, int, foo)` doesn't hold aliases to value, type and symbol (assuming X(T...)) - it does hold actual value and type, with only symbol being aliased. Actual alias tuple would be defined as `X(alias a, alias b, alias c)` and is somewhat different thing.

You may want to ignore that difference for simplicity sake but it needs to be explicitly acknowledged.

Reply via email to