inconsistent behavior with "is a nested function and cannot be accessed from"
timotheecour
thelastmammoth at gmail.com
Tue Sep 18 14:07:23 PDT 2012
The code below fails to compile with:
Error: function
main.fun!(cast(ModeScore)0,int).fun.map!(__lambda33).map!(int[]).map
is a nested function and cannot be accessed from
main.fun!(cast(ModeScore)1,int).fun
which is weird.
But then comment out line B or line A (see below) and it works,
which is even weirder.
Is that a bug?
----
import std.algorithm;
void main(){
int[]as;
auto scores=as.map!(a=>a.fun!(ModeScore.u)); //line A
auto scores2=as.map!(a=>a.fun!(ModeScore.v)); //line B
}
enum ModeScore {u,v}
auto fun(ModeScore modeScore=ModeScore.sum,T)(T a){
auto scores=[a].map!(b=>b);
return 0;
}
----
More information about the Digitalmars-d-learn
mailing list