On 12/7/21 7:30 AM, Andrey Zherikov wrote: > auto createDelegate(string s) > { > return { s.writeln; }; // Error: closures are not yet > supported in CTFE > }
I don't know whether the workaround works with your program but that delegate is the equivalent of the following struct (the struct should be faster because there is no dynamic context allocation). Note the type of 'dg' is changed accordingly:
struct FunctionObject { string s; this(string s) { this.s = s; } auto opCall() { import std.stdio : writeln; s.writeln; } } struct A { FunctionObject[] dg; } auto createDelegate(string s) { return FunctionObject(s); } Ali