14 lines
626 B
Ada
14 lines
626 B
Ada
|
with Layered_Abstraction_P;
|
||
|
generic
|
||
|
with package P1 is new Layered_Abstraction_P(<>);
|
||
|
with package P2 is new Layered_Abstraction_P(T => P1.T, Obj => <>);
|
||
|
package Layered_Abstraction is
|
||
|
pragma Elaborate_Body;
|
||
|
X : P1.T := P2.Obj; -- Both P1.T and P2.Obj are visible because
|
||
|
-- they were not specified in the formal package. -- Note that P2.T is not visible since it
|
||
|
-- is required to match P1.T
|
||
|
|
||
|
use P1; -- to make equality immediately visible
|
||
|
Yes : Boolean := P1.Obj2 = P2.Obj2;
|
||
|
end Layered_Abstraction;
|