https://issues.dlang.org/show_bug.cgi?id=16705
ajiesk...@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ajiesk...@gmail.com --- Comment #12 from ajiesk...@gmail.com --- Simplified case of what the frame pointer error is about: ```d void main() { struct X{ void x(){} } auto a = defInit!X; } auto defInit(T)(){ return T(); } ``` This won't work, because `struct X` default constructor needs a hidden pointer to `main` local variables, and `defInit` does not have that pointer. So far, so good. However, it also fails in this form: ```d void main() { auto a = defInit!(X!(x=>1)); } struct X(alias f){ void x(){} } auto defInit(T)(){ return T(); } ``` I would have expected this one to pass. `x=>1` is completely context independant, so theoretically `X` should not need a frame pointer to `main()`. I'm not sure what the langauge spec says about this. --