1generic 2package Abstract_Private is 3 4 type T1 is abstract tagged private; 5 procedure P1 (X : T1) is abstract; 6 7 type T2 is abstract tagged private; 8 9private 10 11 type T1 is abstract tagged null record; 12 procedure P2 (X : T1) is abstract; -- { dg-error "must be visible" } 13 14 type T2 is abstract new T1 with null record; 15 procedure P1 (X : T2) is abstract; 16 17end Abstract_Private; 18