diff tests/mini/foreach11.d @ 1185:8baf611f0009

Fix nested references to 'ref' foreach variables. These "walk around" the array being iterated over, so they're a bit trickier than other variables to get right.
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 01 Apr 2009 00:01:44 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/foreach11.d	Wed Apr 01 00:01:44 2009 +0200
@@ -0,0 +1,18 @@
+module foreach11;
+
+extern(C) int printf(char*, ...);
+
+void main() {
+    char* last = null;
+    printf("The addresses should remain constant:\n");
+    foreach (c; "bar") {
+        auto a = {
+            printf("%x '%c'\n", c, c);
+            printf("ptr = %p\n", &c);
+            if (last)
+                assert(last == &c);
+        };
+        a();
+        last = &c;
+    }
+}