http://d.puremagic.com/issues/show_bug.cgi?id=7705
Summary: lambda syntax doesn't allow some valid signatures Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: ice, rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: k.hara...@gmail.com --- Comment #0 from Kenji Hara <k.hara...@gmail.com> 2012-03-13 20:42:46 PDT --- Following code should work as expected. void main() { // lambda has a qualified parameter that needs type inference void foo1(void delegate(ref int ) dg){ int x=10; dg(x); } foo1((ref x){ assert(x == 10); }); // test.d(4): Error: undefined identifier x // Assertion failure: 'typen->deco' on line 1690 in file 'cast.c' // lambda has C style variadic void foo2(void delegate(int, ...) dg){ dg(20, 3.14); } foo2((x,...){ assert(x == 20); }); // OK // lambda has D style type safe variadic void foo3(void delegate(int[]...) dg){ dg(1, 2, 3); } foo3((x ...){ assert(x == [1,2,3]); }); // test.d(16): Error: undefined identifier x // Assertion failure: 'typen->deco' on line 1690 in file 'cast.c' } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------