limited with Incomplete1; package Incomplete2 is pragma Elaborate_Body; generic type T is private; package G is end G; package I1 is new G (Incomplete1.T); -- { dg-error "premature use" } end Incomplete2;