On Monday, 24 July 2017 at 13:12:17 UTC, Nick Treleaven wrote:
static if (is(E == enum; alias V)) { // this inserts "V"
   V v;
}

The test comes first as it logically should, as the alias is not being used until the following statement.

Hmm, it can be used in the test:

is(Abc U : U*)
is(AA A : A[B], B : int)
is(AA T : T[U], U : const char[])

So the alias part would come first instead:

is(alias U; Abc : U*)
is(alias A; AA : A[B], B : int)
is(alias T; AA : T[U], U : const char[])

Note: The spec page needs to use CamelCase for types (abc -> Abc, bar -> Bar), especially as the construct is difficult to read anyway. Maybe I'll do this soon. (I think other parts of the spec contravene this too).

Reply via email to