ANY NONE
expanded class interface SAFE_EQUAL[E]
   --
   -- The goal of this class is to share the definition of the feature safe_equal.
   -- The feature safe_equal compares two arguments of type E, by calling is_equal only if
   -- both arguments have the same_dynamic_type.
   --

feature(s) from SAFE_EQUAL
   test (e1, e2: E): BOOLEAN
      -- In order to avoid run-time type errors, feature safe_equal calls
      -- is_equal only when e1 and e2 have exactly the same dynamic
      -- type. Furthermore, this feature avoids argument passing from some
      -- expanded type to the corresponding reference type (no automatic
      -- allocation of some reference type during the comparison).

   safe_equal (e1, e2: E): BOOLEAN
      -- In order to avoid run-time type errors, feature safe_equal calls
      -- is_equal only when e1 and e2 have exactly the same dynamic
      -- type. Furthermore, this feature avoids argument passing from some
      -- expanded type to the corresponding reference type (no automatic
      -- allocation of some reference type during the comparison).



end of expanded SAFE_EQUAL[E]