Florian Klaempfl <flor...@freepascal.org>: > Vinzent Höfler schrieb: > >> > >> was allowed and this code is simply broken, the compiler has to > >> complain and this was fixed. > > > > Agreed. But in that case a function result of type tc1 wouldn't be > > allowed to be assigned to tc3 either. So your previous statement > > ("use a function instead") didn't make too much sense in this > > context, did it? > > It is pretty obvious for me that one needs an as-operator in this case?
And it is pretty obvious to me that the typecast would change the wrongness of the code. > >> Code depending on this lazy behaviour simply needs to be fixed, > >> there are several solutions like inserting a explicit type cast or > >> using functions maybe together with the as operator. > > > > > > 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. 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. So it's far from being a wild guess, although I must admit that I haven't tried it for myself. Actually I never used FPC bleeding edge, so unless 2.6 comes out, I won't even notice the problem. > > BTW, I still can not follow the argument of that "out" parameters > > need finalization. Sure, for reference counted types this may be > > true, I won't argue that, but "out" used to work for integers as well > > as other types needing no finalization, so the compiler should not > > insert finalization code when classes are involved > > Who said that this is done? Well, Mattias Gärtner wrote: "But as Jonas explained a few times: 'out' is *not* write only. Out is finalised and must therefore match exactly." I'm reading my mail on-line, so I apologize in advance excuse me if it's hard to me to find the correct mail with the precise wording. Maybe, Mattias can. Vinzent. -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel