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

Differences between 1.3 and version 1.4
Log of other versions for file ai12s/ai12-0086-1.txt

--- ai12s/ai12-0086-1.txt	2015/01/30 05:23:09	1.3
+++ ai12s/ai12-0086-1.txt	2015/07/14 02:29:41	1.4
@@ -1,6 +1,7 @@
-!standard 4.3.1(17/3)                              15-01-28    AI12-0086-1/03
+!standard 4.3.1(17/3)                              15-07-13    AI12-0086-1/04
 !standard 4.3.1(19/3)
 !class Amendment 13-10-30
+!status ARG Approved 7-1-1  15-06-28
 !status Promising (9-0-1) 15-01-28
 !status work item 13-10-30
 !status received 13-08-22
@@ -68,15 +69,19 @@
 
 with
 
-   The value of a discriminant that governs a variant_part P shall be
-   given by a static expression, or by a nonstatic expression having a
-   constrained static nominal subtype, unless P is nested within a
-   variant V that is not selected by the discriminant value governing
-   the variant_part enclosing V. In the case of a nonstatic expression,
-   there shall be exactly one discrete_choice_list of P that covers
-   each value that belongs to the nominal subtype and satisfies the
-   predicates of the subtype, and there shall be at least one such value.
+   If a variant_part P is nested within a variant V that is not selected by
+   the discriminant value governing the variant_part enclosing V, then there
+   is no restriction on the discriminant governing P. Otherwise, the value of
+   the discriminant that governs P shall be given by a static expression, or
+   by a nonstatic expression having a constrained static nominal subtype. In
+   this latter case of a nonstatic expression, there shall be exactly one
+   discrete_choice_list of P that covers each value that belongs to the
+   nominal subtype and satisfies the predicates of the subtype, and there
+   shall be at least one such value.
 
+   AARM Ramification: This means that in the nonstatic value case, the (static)
+   subtype cannot have a null range.
+
 Append to the end of 4.3.1(19):
 
    If the value of a discriminant that governs a selected variant_part
@@ -85,7 +90,8 @@
    of the expression, then Constraint_Error is raised.
 
    AARM Ramification: In this case, the value of the discriminant is
-   outside the base range of its type, or is an invalid representation.
+   outside the base range of its type, does not satisfy the (static)
+   predicates of the subtype, or is an invalid representation.
    This is a rule similar to that used for case statements.
 
 !discussion

Questions? Ask the ACAA Technical Agent