"Ted Dennison" a �crit dans le message news: 95rpj5$gq7$1@nnrp1.deja.com... > I have to admit I'm a little unclear as to what nasty things could > happen to me if I were allowed to declare a derived tagged type at a > lower scope level than their parent type. OK, let's go: package body Pack is type Parent is tagged ...; procedure Proc (X : Parent) is ... end Proc; type Ptr is access Parent'Class; V : Ptr; procedure P is type Child is new Parent with...; procedure Proc (X : Child) is... end Proc; begin V := new Child; end P; begin P; -- Now, V.all points to an object of type P.Child -- We can call Proc (V.all) which will result in a dispatching call to P.Proc, but P is out of scope at this point !!!