package Aggr25 is | |
type T_A is (A, B , C ,D); | |
subtype Has_B_D is T_A with Static_Predicate => Has_B_D in B | D; | |
type Obj_T (Kind : T_A) is | |
record | |
case Kind is | |
--OK-- when A | C => null; --OK-- | |
when Has_B_D => Value : Boolean; | |
--BAD-- when A | C => null; | |
when others => null; | |
end case; | |
end record; | |
type T is access Obj_T; | |
Unavailable : constant T := new Obj_T'(Kind => A); | |
procedure Foo; | |
end Aggr25; |