1package body Self is 2 function G (X : Integer) return Lim is 3 begin 4 return R : Lim := (Comp => X, others => <>); 5 end G; 6 7 procedure Change (X : in out Lim; Incr : Integer) is 8 begin 9 X.Comp := X.Comp + Incr; 10 X.Self_Default.Comp := X.Comp + Incr; 11 X.Self_Anon_Default.Comp := X.Comp + Incr; 12 end Change; 13 14 function Get (X : Lim) return Integer is 15 begin 16 return X.Comp; 17 end; 18end Self; 19