CVS difference for ais/ai-00123.txt
--- ais/ai-00123.txt 1999/08/31 22:53:54 1.3
+++ ais/ai-00123.txt 1999/10/08 23:41:05 1.4
@@ -1,4 +1,4 @@
-!standard 04.05.02 (20) 99-08-31 AI95-00123/08
+!standard 04.05.02 (24) 99-10-07 AI95-00123/09
!standard 04.05.02 (32)
!class binding interpretation 96-07-23
!status Corrigendum 2000 99-07-28
@@ -177,11 +177,12 @@
and then (conditionally) call user-defined equality operators on the
other components. All of these implementations are valid.
-The analogous definitions apply if the types of the two objects or
-values are convertible, rather than being the same.
+@xbullet<Otherwise, the result is defined in terms of the primitive equals
+operator for any matching tagged components, and the predefined
+equals for any matching untagged components.>
For any composite type, the order in which "=" is called for components is
not defined by the language. Furthermore, if the result can be determined
@@ -195,11 +196,9 @@
corresponding membership test using @b<in>.
-Certain language-defined packages provide private types with an explicit
-declaration of the "=" operator. The implementation of the "=" operator
-shall be such that it composes properly (i.e., that no predefined equality
-of the full type "reemerges"), when the type is used as a component type, or
-as a generic actual type.
+For all non-limited types declared in language-defined packages, the "="
+operator of the type shall behave as if it were the predefined equality operator
+for the purposes of composite equality and generic formal type equality.
Questions? Ask the ACAA Technical Agent