20 lines
566 B
Ada
20 lines
566 B
Ada
-- { dg-do compile }
|
|
|
|
with text_io; use text_io;
|
|
procedure modify_a_constant is
|
|
type Outer;
|
|
type Inner (Outer_Ref : access Outer) is limited null record;
|
|
|
|
type Outer is limited record
|
|
Inner_Field : Inner (Outer_Ref => Outer'Access);
|
|
Integer_Field : Integer;
|
|
end record;
|
|
|
|
X : constant Outer := (Inner_Field => <>, Integer_Field => 123);
|
|
|
|
begin
|
|
Put_Line (Integer'image (X.Integer_Field));
|
|
X.Inner_Field.Outer_Ref.Integer_Field := 0;
|
|
Put_Line (Integer'image (X.Integer_Field));
|
|
end Modify_A_Constant;
|