http://d.puremagic.com/issues/show_bug.cgi?id=8894
--- Comment #2 from Andrej Mitrovic <andrej.mitrov...@gmail.com> 2012-10-25 16:24:25 PDT --- (In reply to comment #1) > It seems errors are gagged at this point in "Expression *Type::getProperty(Loc > loc, Identifier *ident)" in file mtype.c: The gagging starts in `DotIdExp::semantic(Scope *sc, int flag)` with a nice comment: /* This would be much better if we added a "hasProperty" method to types, * i.e. the gagging is a bad way. */ // .. Type *t1 = e1->type; unsigned errors = global.startGagging(); e = t1->dotExp(sc, e1, ident); if (global.endGagging(errors)) // if failed to find the property { e1->type = t1; // kludge to restore type e = resolveUFCSProperties(sc, this); } e = e->semantic(sc); return e; So it seems UFCS really is to blame. Type properties are checked first, then UFCS is checked, however if neither of them have a match then we should print out the property error rather than the UFCS error. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------