http://dpaste.dzfl.pl/b8c580346198
Tested in DMD v2.068.2
(in case dpaste is offline:)
Code:
struct T {
template opDispatch(string Name, P...) {
static void opDispatch(P) {};
};
};
void main() {
asm {
call T.foo;
};
};
Output:
dmd: interpret.c:731: Expression* ctfeInterpret(Expression*): Assertion `e->type' failed.
Comment #1 by dlang-bugzilla — 2015-10-27T10:58:52Z
2.064 .. 2.065:
test.d(9): Error: Cannot interpret opDispatch!"foo" at compile time
test.d(9): Error: bad type/size of operands '__error'
2.066 .. 2.067: segfault
2.068: Assertion failure: 'e->type' on line 731 in file 'interpret.c'
2.069: segfault
Curiously, the Win32 "Access violation" stack trace I get with 2.069 changes every time I run the compiler. Probably due to lack of stack frames.