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

Differences between 1.2 and version 1.3
Log of other versions for file ai05s/ai05-0244-1.txt

--- ai05s/ai05-0244-1.txt	2011/03/10 03:41:40	1.2
+++ ai05s/ai05-0244-1.txt	2011/03/10 04:16:16	1.3
@@ -1,5 +1,7 @@
-!standard 4.3.2(5.1/3)                              11-02-16    AI05-0244-1/01
+!standard 4.3.2(5.1/3)                              11-03-09    AI05-0244-1/02
 !class binding interpretation 11-02-15
+!status Amendment 2012 11-03-09
+!status ARG Approved  6-0-2  10-02-20
 !status work item 11-02-15
 !status received 11-01-19
 !priority Low
@@ -8,11 +10,13 @@
 !subject Ancestor parts that are qualified or parenthesized
 !summary
 
-** TBD **
+Ancestor expressions that are qualified, parenthesized, or
+are conditional expressions are subject to the same rules that a
+stand-alone expression is.
 
 !question
 
-4.3.2(5.1/3) says:
+4.3.2(5.1/3) [from AI05-0067-1] says:
    If the ancestor_part is a function call and the type of the
    ancestor_part is limited, then the ancestor_part shall have a
    constrained nominal subtype unless there are no components needed in
@@ -49,21 +53,47 @@
 
    If the type of the ancestor_part is limited
    and at least one component is needed in the
-   record_component_association_list, then the ancestor part shall not
-   be
-      - a call to a function with an unconstrained result subtype; or
+   record_component_association_list, then the ancestor_part shall not
+   be:
+      - a call to a function with an unconstrained result subtype; nor
       - a parenthesized or qualified expression whose operand
-        would violate thie rule; or
-      - a conditional expression having at least one dependent
-        expression which would violate this rule.
+        would violate this rule; nor
+      - a conditional_expression having at least one *dependent_*expression
+        that would violate this rule.
 
 !discussion
 
---!corrigendum 12.5.1(5/2)
+This is obvious; parens or qualification should not affect the semantics
+of an expression. Conditional expressions are intended to work as similarly
+to parens as possible.
+
+The rule is recursive, of course. It applies to parenthesized qualified expressions
+and qualified conditional_expressions and any other combination.
+
+!corrigendum 4.3.2(5)
+!comment As this is an inserted paragraph, we have to use the original number to
+!comment force a conflict with AI05-0067-1.
+@drepl
+If the @fa<ancestor_part> is a function call and the type of the @fa<ancestor_part> is
+limited, then the @fa<ancestor_part> shall have a constrained nominal subtype
+unless there are no components needed in the @fa<record_component_association_list>.
+@dby
+If the type of the @fa<ancestor_part> is limited and at least one component is
+needed in the @fa<record_component_association_list>, then the ancestor part shall
+not be:
+@xbullet<a call to a function with an unconstrained result subtype; nor>
+@xbullet<a parenthesized or qualified expression whose operand
+ould violate this rule; nor>
+@xbullet<a @fa<conditional_expression> having at least one @i<dependent_>@fa<expression>
+that would violate this rule.>
 
-
 !ACATS test
 
+Add cases like these to the B-Test that checks this rule.
+
+!ASIS
+
+No ASIS impact.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent