>>> But that wasn't the problem. The problem I mean is that: >>> >>> procedure p (out c : tc2) >>> begin >>> c := tc3.create; >> This breaks already here if I assume the type definitions I used. > > I assumed a tc1 -> tc2 -> tc3 inheritance, sorry if I missed something here.
Yes, the type declarations. I used tc1 -> tc2 and tc1 -> tc3. > So creating an instance of tc3 and assigning it to a variable of tc2 should > be legal. > >>> end; >>> >>> var >>> c1 : tc1; >>> >>> begin >>> p(c1); >>> end. >>> >>> seems not to be allowed anymore. >> Please test your examples first before doing some wild guesses. > > I think it was Jonas who said it wouldn't be possible anymore. This was *never* possible as far as I remember, so nothing changed here and no reason to complain that existing code gets havoc as Graeme feared. It is a different discussion if it should be allowed. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel