| -- { dg-do compile } |
| -- { dg-options "-O" } |
| |
| with Ada.Containers.Ordered_Sets; |
| with Ada.Strings.Unbounded; |
| |
| procedure Opt33 is |
| |
| type Rec is record |
| Name : Ada.Strings.Unbounded.Unbounded_String; |
| end record; |
| |
| function "<" (Left : Rec; Right : Rec) return Boolean; |
| |
| package My_Ordered_Sets is new Ada.Containers.Ordered_Sets (Rec); |
| |
| protected type Data is |
| procedure Do_It; |
| private |
| Set : My_Ordered_Sets.Set; |
| end Data; |
| |
| function "<" (Left : Rec; Right : Rec) return Boolean is |
| begin |
| return False; |
| end "<"; |
| |
| protected body Data is |
| procedure Do_It is |
| procedure Dummy (Position : My_Ordered_Sets.Cursor) is |
| begin |
| null; |
| end; |
| begin |
| Set.Iterate (Dummy'Access); |
| end; |
| end Data; |
| |
| begin |
| null; |
| end; |