As a workaround you can do this for now: import std.stdio;
enum deleg = returnFib(); ulong delegate(ulong m) returnFib() { return (ulong m) { if(m < 2) return m; return deleg(m-1)+deleg(m-2); }; } void main() { writeln(returnFib()(10)); } Otherwise I'd really like the ability for a lambda to call itself. Perhaps a feature request is in order.