This fails:

void main() {
    int z;
    typeof((int a){return z;}) dg;
    dg = (int a) {return z;};
}

Error: cannot implicitly convert expression (__lambda2) of type int delegate(int a) nothrow @safe to int delegate(int a) pure nothrow @safe

But I can't make the delegate pure:
dg = (int a) pure {return z;};
because it references z.

Is the 'typeof((int a){return z;})' getting it wrong here?

Reply via email to