blob: 0bf3be0bf7f43788a34e2e2396bc81375df488bf [file] [log] [blame]
package Equal5 is
type Eq_Parent is tagged null record;
function "="
(Left : Eq_Parent;
Right : Eq_Parent) return Boolean;
type Eq_Iface is interface;
function "="
(Left : Eq_Iface;
Right : Eq_Iface) return Boolean is abstract;
procedure Op (Obj : Eq_Iface) is abstract;
-----------------
-- Derivations --
-----------------
type Child_6 is new Eq_Parent and Eq_Iface with null record;
procedure Op (Obj : Child_6);
function Equals
(Left : Child_6;
Right : Child_6) return Boolean;
function "="
(Left : Child_6;
Right : Child_6) return Boolean renames Equals; -- Test
end Equal5;