Comment #0 by jcrapuchettes — 2014-03-26T15:13:17Z
The following code will cause DMD to have the following assertion thrown:
dmd: interpret.c:3204: virtual Expression* BinExp::interpret(InterState*, CtfeGoal): Assertion `0' failed.
It appears to be a problem with Foo having an alias to a template that doesn't "return" anything while trying to access that alias through an "alias this".
Code:
---
template A(T) { }
struct Foo(T)
{
alias B = A!T;
}
struct Bar
{
Foo!int baz;
alias baz this;
}
import std.traits;
enum h = hasMember!(Bar, "B");
---