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.

Reply via email to