On Sunday, 2 February 2020 at 16:23:42 UTC, Paul Backus wrote:
[..]
No, it would still be ambiguous:
struct S(T) {}
alias a = S!(int);
// Should this assertion pass or fail?
static assert(is(a));
Sorry, I don't get it. AFAICS 'is(a)' should return true (since a
is an alias for a full type here) - and braces being compulsory
or optional does not affect this.
AFAICS:
struct S(T) {}
alias a = S!(int);
alias b = S;
// Should this assertion pass or fail?
static assert(is(a)); //PASS
static assert(is(b)); //FAIL
But I don't see how braces will affect this. Can you explain?