CVS difference for ai05s/ai05-0188-1.txt

Differences between 1.17 and version 1.18
Log of other versions for file ai05s/ai05-0188-1.txt

--- ai05s/ai05-0188-1.txt	2011/03/03 07:13:42	1.17
+++ ai05s/ai05-0188-1.txt	2011/03/03 07:33:16	1.18
@@ -1,4 +1,4 @@
-!standard 3.8.1(15)                                  11-02-18  AI05-0188-1/11
+!standard 3.8.1(15)                                  11-02-19  AI05-0188-1/12
 !standard 3.10.2(9/2)
 !standard 3.10.2(32/2)
 !standard 4.5.7(0)
@@ -16,6 +16,7 @@
 !standard 6.5(5.5/2)
 !class amendment 09-11-03
 !status Amendment 2012 10-07-26
+!status ARG Approved  5-03  11-02-19
 !status work item 11-02-18
 !status ARG Approved  10-0-0  10-10-30
 !status work item 09-11-03
@@ -101,9 +102,9 @@
 
 Modify 3.8.1(15):
 
-   If the discriminant is of a static constrained scalar subtype {and the
-   discriminated type is not declared in an instance of a generic unit},
-   then each non-others discrete_choice shall cover only values in that
+   If the discriminant is of a static constrained scalar subtype[,] then{,
+   except within an instance of a generic unit,}
+   each non-others discrete_choice shall cover only values in that
    subtype, and each value of that subtype shall be covered by some
    discrete_choice [(either explicitly or by others)];
 
@@ -249,12 +250,12 @@
 *dependent_*expressions of the if_expression shall be of a boolean type.
 
 All Legality Rules that apply to the discrete_choices of a case_statement (see 5.4),
-apply to the discrete_choices of a case_expression {which does not occur within
+apply to the discrete_choices of a case_expression {except within
 an instance of a generic unit}.
 
-   AARM note:
-   The exemption for a case expression which occurs in an instance
-   allows the following example:
+    AARM note:
+    The exemption for a case expression that occurs in an instance
+    allows the following example:
 
        generic
          with function Int_Func return Integer;
@@ -268,7 +269,9 @@
        function Nat_Func return Natural is (123);
  
        package I is new G (Int_Func => Nat_Func); -- Legal
- 
+
+    Note that the Legality Rules still apply in the generic unit; they
+    are just not enforced in an instance.
 
     Dynamic Semantics
 
@@ -385,8 +388,8 @@
 each value of that subtype shall be covered by some @fa<discrete_choice> (either
 explicitly or by others);>
 @dby
-@xbullet<If the discriminant is of a static constrained scalar subtype and the
-discriminated type is not declared in an instance of a generic unit, then each
+@xbullet<If the discriminant is of a static constrained scalar subtype then,
+except within an instance of a generic unit, each
 non-@b<others> @fa<discrete_choice> shall cover only values in that subtype, and
 each value of that subtype shall be covered by some @fa<discrete_choice> (either
 explicitly or by others);>

Questions? Ask the ACAA Technical Agent