CVS difference for ai12s/ai12-0162-1.txt

Differences between 1.1 and version 1.2
Log of other versions for file ai12s/ai12-0162-1.txt

--- ai12s/ai12-0162-1.txt	2015/06/18 05:56:10	1.1
+++ ai12s/ai12-0162-1.txt	2015/07/09 01:04:37	1.2
@@ -1,5 +1,6 @@
-!standard B.3.3(25/2)                                    15-06-04  AI05-0162-1/01
+!standard B.3.3(25/2)                                    15-07-08  AI05-0162-1/02
 !class binding interpretation 15-06-04
+!status ARG Approved 8-0-2  15-06-26
 !status work item 15-06-04
 !status received 15-04-28
 !priority Low
@@ -32,9 +33,9 @@
 
 Modify B.3.3(25/2):
 
-Evaluation of a membership test if {a membership_choice}[the] subtype_mark
+Evaluation of a {individual} membership test if the subtype_mark {(if any)}
 denotes a constrained unchecked union subtype and the
-{tested_simple_expression}[expression] lacks inferable discriminants.
+{tested_simple_expression}[expression] lacks inferable discriminants. 
 
 !discussion
 
@@ -43,25 +44,25 @@
 to raise Program_Error rather than evaluating to True. We could have
 required that all of the subtypes fail this check before we raise
 Program_Error, but this would mean that we'd be allowing an individual
-membership test whose result is undefined, and allowing that because
-these results are ORed (any ORed with True is True). That seems unusual and
+membership test whose result is undefined, and allowing that because these
+results are ORed (anything ORed with True is True). That seems unusual and
 unnecessary as such an expression makes little sense to begin with (why write
 a membership which is always True? And if so, why combine it with one that
 requires an actual test?). It's important that these things are well-defined,
 but how they're defined isn't that important.
 
-It was suggested that we could make this rule about an individual membership
-test (by inserting "individual" in front of "membership test"), but it still
-would be weird to talk about "the subtype_mark" (since the test might be
-against an expression instead). So the amount of wording change seems about
-the same.
+We could have talked about the "subtype_mark of a membership_choice" instead
+of talking about invididual membership tests, but that's just longer, not
+clearer.
 
 Note that the choice_expression case is covered by B.3.3(23/2) if necessary,
 as evaluating that choice is defined to be an evaluation of primitive equality
 for a record type; if there is no user-defined equality, then B.3.3(23/2)
 applies. (If there is a user-defined equality, then B.3.3(23/2) does not apply
-and the call is made; the implementation of the user-defined equality either
-works around the problem or triggers one of these rules itself.)
+and the call is made; the implementation of the user-defined equality might
+trigger one of these rules itself, but it doesn't have to.)
+
+!corrigendum B.3.3(25/2)
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent