Florian Klaempfl <flor...@freepascal.org>: > Because a VAROUT parameter would be simply overwritten by the callee > even if it contains a valid automated type:
That's a semantic definition, not an explanation. IOW: What stops you from selecting to implement the proper semantics depending on the type? (Especially when introducing another new keyword for exactly clarifying intended semantics?) > OUT does prevent this because s is cleaned up before p is entered. OTOH, > OUT causes a crash if s is filled with garbage. Assuming that one doesn't play with pointers and typecasts a lot, the probability of an automated type containing garbage should be rather low. Nonetheless, I still consider a "FillAnyArrayWithZeros (out X : DynamicArray)" which deletes the whole array instead of filling it up to it's defined size with zeros rather counterintuitive. I expect the single array elements to contain garbage (which I want to clean out), not the defined array itself... 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