Mercurial > projects > ldc
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