| package body Self is | |
| function G (X : Integer) return Lim is | |
| begin | |
| return R : Lim := (Comp => X, others => <>); | |
| end G; | |
| procedure Change (X : in out Lim; Incr : Integer) is | |
| begin | |
| X.Comp := X.Comp + Incr; | |
| X.Self_Default.Comp := X.Comp + Incr; | |
| X.Self_Anon_Default.Comp := X.Comp + Incr; | |
| end Change; | |
| function Get (X : Lim) return Integer is | |
| begin | |
| return X.Comp; | |
| end; | |
| end Self; |