On Tuesday, 10 November 2015 at 13:47:23 UTC, Brian Schott wrote:
On Tuesday, 10 November 2015 at 10:28:45 UTC, Marc Schütz wrote:
This fails, too:
static assert(is(AliasSeq!(char) : AliasSeq!(dchar)));
Which makes sense IMO, because it can be thought of as an
unnamed struct, cp. the following:
struct A { char c; }
struct B { dchar c; }
static assert(is(A : B)); // fails, as expected
You're talking about Tuple. I'm talking about AliasSeq.
A Tuple is just a struct with an AliasSeq member. Or seen from a
different POV, an AliasSeq can be interpreted as the "innards" of
the struct. IMO it therefore makes sense to expect an AliasSeq to
behave analogously to a struct. The only exception to that is
that AliasSeq auto-expands, of course.