24 lines
472 B
Ada
24 lines
472 B
Ada
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;
|