3 type Lim is limited private;
4 type Lim_Ref is access all Lim;
5 function G (X : Integer) return lim;
7 procedure Change (X : in out Lim; Incr : Integer);
8 function Get (X : Lim) return Integer;
10 type Lim is limited record
12 Self_Default : Lim_Ref := Lim'Unchecked_Access;
13 Self_Unrestricted_Default : Lim_Ref := Lim'Unrestricted_Access;
14 Self_Anon_Default : access Lim := Lim'Unchecked_Access;
15 Self_Anon_Unrestricted_Default : access Lim := Lim'Unrestricted_Access;