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

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

--- ai12s/ai12-0065-1.txt	2013/12/18 04:08:44	1.4
+++ ai12s/ai12-0065-1.txt	2014/01/05 04:25:25	1.5
@@ -1,10 +1,12 @@
-!standard 7.3.1(5.2/3)                              13-11-16    AI12-0065-1/01
-!class binding interpretation 13-05-08
+!standard 7.3.1(5.2/3)                              13-12-17    AI12-0065-1/02
+!class ramification 13-12-17
+!status Corrigendum 2014 13-12-17
+!status ARG Approved 6-0-5  13-11-17
 !status work item 13-05-08
 !status received 13-01-26
 !priority Low
 !difficulty Medium
-!qualifier Omission
+!qualifier Clarification
 !subject Descendants of incomplete views
 
 !summary
@@ -23,16 +25,22 @@
 
 Should this be clarified? (Yes.)
 
-!recommendation
+!response
 
-(See !summary.)
+Paragraph 7.3.1(5.2/3) was intended to be a clarification of 7.3.1(5.1/3), but
+its wording was sufficiently confusing that it only made matters worse.  We
+have tried to clarify the intent a bit.  
 
+Also, the AARM example was similarly intended to clarify things, but the
+mapping between the example and 5.2/3 was not clear, so again, things
+only became further muddled. Hopefully the added comments have helped
+explain how the example relates to 5.2/3.
+
 !wording
 
-** TBD.
 Modify 7.3.1(5.2/3, 5.a.*/3) as follows:
 
-   [redundant: [It]{Furthermore, it is possible for there to be places
+   [redundant: [It]{Furthermore, it} is possible for there to be places
    where a derived type is [visibly a descendant of] {known to be
    derived indirectly from} an ancestor type, but is not a descendant of
    even a partial view of the ancestor type, because the parent of the
@@ -77,18 +85,33 @@
         Z : T3 := T3(Integer(W) + 1);   -- Legal: convert to Integer first
     end P.Child;
     
-----   
-
 !discussion
 
-Paragraph 7.3.1(5.2/3) was intended to be a clarification of 7.3.1(5.1/3), but
-its wording was sufficiently confusing that it only made matters worse.  We
-have tried to clarify the intent a bit.  
+None needed.
 
-Also, the AARM example was similarly intended to clarify things, but the
-mapping between the example and 5.2/3 was not clear, so again, things
-only became further muddled. Hopefully the added comments have helped
-explain how the example relates to 5.2/3.
+!corrigendum 7.3.1(5.2/3)
+
+@drepl
+It is possible for there to be places where a derived
+type is visibly a descendant of an ancestor type, but not a
+descendant of even a partial view of the ancestor type, because the parent
+of the derived type is not visibly a descendant of the ancestor.  In
+this case, the derived type inherits no characteristics from that
+ancestor, but nevertheless is within the derivation class of the
+ancestor for the purposes of type conversion, the "covers"
+relationship, and matching against a formal derived type. In this
+case the derived type is considered to be a @i<descendant> of an
+incomplete view of the ancestor.
+@dby
+Furthermore, it is possible for there to be places where a derived type is
+known to be derived indirectly from an ancestor type, but is not a descendant
+of even a partial view of the ancestor type, because the parent of the
+derived type is not visibly a descendant of the ancestor. In this
+case, the derived type inherits no characteristics from that
+ancestor, but nevertheless is within the derivation class of the
+ancestor for the purposes of type conversion, the "covers" relationship, and
+matching against a formal derived type.  In this case the derived type is
+effectively a @i<descendant> of an incomplete view of the ancestor.
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent