On Tuesday, 14 January 2014 at 19:50:10 UTC, bearophile wrote:
But is it possible for D to see that bar function as pure?
In the general case, no: --- auto foo(const int[] a) { int bar() { return a[0]; } return &bar; } void main() { int[3] a; auto dg = foo(a[]); assert(dg() == 0); a[0] = 1; assert(dg() == 1); } --- David