diff tests/mini/bug199_ctfestructinit.d @ 913:29c0d1194033

Fix #198 and #199 by making CTFE on static struct initializers work. Renamed SymbolDeclaration to StaticStructInitDeclaration to make its usage clearer.
author Christian Kamm <kamm incasoftware de>
date Sun, 01 Feb 2009 20:20:56 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/bug199_ctfestructinit.d	Sun Feb 01 20:20:56 2009 +0100
@@ -0,0 +1,25 @@
+struct Color {
+    uint c;
+
+}
+
+struct Vertex {
+    double x, y;
+    Color c;
+    static Vertex opCall(double x, double y, Color c) {
+        Vertex ret;
+        ret.x = x;
+        ret.y = y;
+        ret.c = c;
+        return ret;
+    }
+}
+
+void main() {
+    Color c = {0xffffffff};
+
+    auto v = Vertex(1, 5, c);
+
+    assert(v.x == 1 && v.y == 5); // passes
+    assert(v.c.c == 0xffffffff);  // fails in LDC
+}
\ No newline at end of file