Mercurial > projects > ddmd
diff dmd/StructInitializer.d @ 135:af1bebfd96a4 dmd2037
dmd 2.038
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Mon, 13 Sep 2010 22:19:42 +0100 |
parents | 60bb0fe4563e |
children | e3afd1303184 |
line wrap: on
line diff
--- a/dmd/StructInitializer.d Sat Sep 11 13:03:39 2010 +0100 +++ b/dmd/StructInitializer.d Mon Sep 13 22:19:42 2010 +0100 @@ -78,7 +78,6 @@ override Initializer semantic(Scope sc, Type t) { - TypeStruct ts; int errors = 0; //printf("StructInitializer.semantic(t = %s) %s\n", t.toChars(), toChars()); @@ -86,12 +85,14 @@ t = t.toBasetype(); if (t.ty == Tstruct) { - uint i; uint fieldi = 0; - ts = cast(TypeStruct)t; + auto ts = cast(TypeStruct)t; ad = ts.sym; - for (i = 0; i < field.dim; i++) + if (ad.ctor) + error("%s %s has constructors, cannot use { initializers }, use %s( initializers ) instead", + ad.kind(), ad.toChars(), ad.toChars()); + for (size_t i = 0; i < field.dim; i++) { Identifier id = field[i]; Initializer val = value[i];