CVS difference for ai12s/ai12-0352-1.txt
--- ai12s/ai12-0352-1.txt 2020/01/10 07:44:22 1.1
+++ ai12s/ai12-0352-1.txt 2020/01/17 05:51:53 1.2
@@ -1,5 +1,7 @@
-!standard 4.5.2(9.8/4) 20-01-10 AI12-0352-1/01
+!standard 4.5.2(9.8/4) 20-01-16 AI12-0352-1/02
!class binding interpretation 20-01-10
+!status Amendment 1-2012 20-01-15
+!status ARG Approved 11-0-2 20-01-15
!status work item 20-01-10
!status received 15-04-28
!priority Low
@@ -66,9 +68,9 @@
untagged record type is type conformant with that of the corresponding
predefined equality operator, the declaration shall occur before the type
is frozen. {In addition, no type shall have been derived from the untagged
-record type before the primitive equality operator.} In addition to the places
-where Legality Rules normally apply (see 12.3), this rule applies also in the
-private part of an instance of a generic unit.
+record type before the declaration of the primitive equality operator.} In
+addition to the places where Legality Rules normally apply (see 12.3), this
+rule applies also in the private part of an instance of a generic unit.
!discussion
@@ -76,12 +78,12 @@
for tagged types, so this only applies to untagged types. For array types,
composition of user-defined "=" does not occur, so this oddity doesn't matter.
-However, for record types which equality otherwise composes, this sort of
+However, for record types for which equality otherwise composes, this sort of
derivation makes the user-defined equality disappear, something we want to
avoid.
Note that if the user is intentionally doing this to have a type that has the
-original equality, it is better to declare the type with the user defined
+original equality, it is better to declare the type with the user-defined
equality second:
type Basic_Record is record Aa, Bb : Integer; end record;
Questions? Ask the ACAA Technical Agent