This is an instance of these bugs:

https://issues.dlang.org/show_bug.cgi?id=5710
https://issues.dlang.org/show_bug.cgi?id=11946

But seeing that `map` works with a single lambda/local function, it should be possible to make it work with several ones too.

For the time being, a simple workaround is to make the local functions static:

void main() {
    static int square(int i) { return i*i; }
    static int twoTimes(int i) { return i+i; }
    import std.algorithm, std.stdio;
    auto arr = [1,2,3];
    arr.map!(twoTimes, square).writeln;
}

Reply via email to