There's two things wrong with this:
1. it rejects valid code
2. it doesn't output an error message, it only does exit(1)
//fails to compile with 1.055 (dmd silently exits)
//succeeds with 1.053 (successfully compiles)
void x(T)() {
static assert(false);
}
template y(T) {
const bool y = is(typeof( { x!(T)(); } ));
}
static assert(!y!(int));
Comment #1 by matti.niemenmaa+dbugzilla — 2010-01-08T08:27:28Z
*** Issue 3691 has been marked as a duplicate of this issue. ***
Comment #2 by clugdbug — 2010-01-08T22:03:58Z
This is a trivial.
D1 template.c, line 3500.
error("error instantiating");
if (tinst)
{ tinst->printInstantiationTrace();
+ if (!global.gag)
fatal();
}