This code fails to compile: void bar(alias f)() { f(); }
void foo(alias f)() { bar!f(); } void main() { void f()() { } foo!f(); }Error: function test.main.f!().f is a nested function and cannot be accessed from test.bar!(f).bar
But non-template nested functions are accepted: void main() { void f() { } foo!f(); // ok } What's going on here?