Jupp, daß Generics eher Templates sind, wo man die Typprüfung schon beim Parsen des Templates macht, anstatt dort nur eine Syntaxprüfung vorzunehmen und die eigentliche Typprüfung erst bei der Verwendung zu machen ... also das ist schrottig und behndert die Nutzung der Generics teilweise extrem.
Was bei den Generics ausfällt, ist daß der Code in der
Unit ist, wo der generische Typ entgültig definiert wurde und mir scheint es manchmal auch so, als wenn er dann bei mehreren Units auch mehrmals einkompiliert wird.
Nett ist auch, daß man Debugcode bekommt, obwohl man den für die
Unit mit der Definition deaktiviert hat. (ja, der entgültige Code liegt ja nicht in der
Unit, aber dennoch hätte man das dann deaktivieren können)
Strg+Linksklick auf eine Methode des generischen Typs leitet einen nicht in die richtige
Unit, sondern meistens nur auf das "implementation" der aktuellen
Unit.
Bim Zugreifen/Casten innerhalb der generischen Funktionen muß man oftmals die Typprüfung umgehen (mit wilden Pointern referenzieren und gleich wieder dereferenzieren, damit der Cast durch die kranke Typprüfung rutscht. (wenn es sich nicht um Objekte bei dem Typ handelt)
Aber sonst ist das in XE3 schon relativ gut nutzbar. (ist nicht so schlimm, wie die noch verbuggteren Attribute)