void fa() {}
auto fb10148(T)()
{
struct A(S)
{
void fc(T2)()
{
fa();
}
this(S a) {}
}
return A!int.init;
}
void test10148()
{
fb10148!int.fc!int;
}
when compiled:
foo.d(9): Error: pure function 'foo.fb10148!int.fb10148.A!int.A.fc!int.fc' cannot call impure function 'foo.fa'
But calling fa() should have made fc() into an impure function.