1-- { dg-do compile } 2 3with Ada.Containers.Formal_Hashed_Sets; 4 5procedure Formal_Containers is 6 type T is new Integer; 7 8 function Eq (X : T; Y : T) return Boolean; 9 10 function Hash (X : T) return Ada.Containers.Hash_Type is (0); 11 12 package TSet is new Ada.Containers.Formal_Hashed_Sets 13 (Element_Type => T, 14 Hash => Hash, 15 Equivalent_Elements => Eq); 16 17 S : Tset.Set := TSet.Empty_Set; 18 19 function Eq (X : T; Y : T) return Boolean is 20 begin 21 return TSet.Contains (S, X) or TSet.Contains (S, Y); 22 end Eq; 23begin null; end Formal_Containers; 24