-- class_as.ads limited with Class_Bs; package Class_As is type Class_A is tagged record B : access Class_Bs.Class_B; Foo : access String; end record; procedure Hoge(O : in out Class_A); end Class_As;
-- class_as.adb with Class_Bs; package body Class_As is procedure Hoge(O : in out Class_A) is begin O.B := new Class_Bs.Class_B; end Hoge; end Class_As;