http://d.puremagic.com/issues/show_bug.cgi?id=8064
Summary: return reference semantics not obeyed on delegates? Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: gasper.az...@gmail.com --- Comment #0 from Gašper Ažman <gasper.az...@gmail.com> 2012-05-08 03:12:02 PDT --- I feel this is best explained with a testcase: This is the error DMD gives: test.d(21): Error: arryacc(3LU) is not an lvalue code: ##### class A { private size_t size = 5; auto newArrayAccessor(T)() { T[] a = new T[size]; ref T accessor(size_t i) { return a[i]; } return &accessor; } } void main() { uint[5] arry; ref uint acc(size_t i) { return arry[i]; } acc(3) = 5; // works auto a = new A; auto arryacc = a.newArrayAccessor!(uint)(); arryacc(3) = 5; // doesn't work. What gives? } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------