digitalmars.D.learn - inconsistent behavior with "is a nested function and cannot be
- timotheecour (22/22) Sep 18 2012 The code below fails to compile with:
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; } ----
Sep 18 2012