On Saturday, 7 January 2012 at 16:10:32 UTC, Don wrote:
Sorry Andrei, I have to disagree with that in the strongest possible terms. I would have mentioned AAs as a very strong argument in the opposite direction!

Amen. AAs are *still* broken from this change. If you
take a look at my cgi.d, you'll find this:

// Referencing this gigantic typeid seems to remind the compiler
// to actually put the symbol in the object file. I guess the immutable
// assoc array array isn't actually included in druntime
void hackAroundLinkerError() {
writeln(typeid(const(immutable(char)[][])[immutable(char)[]]));
     writeln(typeid(immutable(char)[][][immutable(char)[]]));
     writeln(typeid(Cgi.UploadedFile[immutable(char)[]]));
writeln(typeid(immutable(Cgi.UploadedFile)[immutable(char)[]]));
     writeln(typeid(immutable(char[])[immutable(char)[]]));
     // this is getting kinda ridiculous btw. Moving assoc arrays
     // to the library is the pain that keeps on coming.

     // eh this broke the build on the work server
     // writeln(typeid(immutable(char)[][immutable(string[])]));
     writeln(typeid(immutable(string[])[immutable(char)[]]));
}


It was never a problem before... but if I take that otherwise
useless function out, it still randomly breaks my builds to
this day.

Reply via email to