//DMD64 D Compiler 2.072.2
import std.stdio;

bool foo(  bool function( double ) controlFoo )
{
    return controlFoo(5.0);
}

void foo2( double val )
{
    writeln  ( foo( a => a > val ) );
}

void main()
{
    foo2(20);
    writeln("Hello, World!");
}

Does not compile and gives this errors:
source_file.d(12): Error: function source.foo2.__lambda2 cannot access frame of function source.foo2 source_file.d(12): Error: function source.foo (bool function(double) controlFoo) is not callable using argument types (void)

Live example:
http://rextester.com/WRKCWR55408

Is there any workaround for that?

Regards
Erdem

Reply via email to