diff run/mini/nested16.d @ 1628:c6ef09dfba4d

add mini test set from ldc project
author Moritz Warning <moritzwarning@web.de>
date Mon, 10 Jan 2011 19:47:18 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/mini/nested16.d	Mon Jan 10 19:47:18 2011 +0100
@@ -0,0 +1,31 @@
+module mini.nested16;
+
+void main()
+{
+    int idx = 123;
+    int func(int* idp)
+    {
+        void foo()
+        {
+            void bar(int* idp)
+            {
+                auto c = new class
+                {
+                    void mem()
+                    {
+                        scope(exit) ++*idp;
+                    }
+                };
+                auto dg = () {
+                    c.mem();
+                };
+                dg();
+            }
+            bar(idp);
+            ++*idp;
+        }
+        foo();
+        return ++*idp;
+    }
+    assert(func(&idx) == 126);
+}