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

Differences between 1.10 and version 1.11
Log of other versions for file ai05s/ai05-0110-1.txt

--- ai05s/ai05-0110-1.txt	2011/03/18 00:11:52	1.10
+++ ai05s/ai05-0110-1.txt	2011/03/19 05:18:09	1.11
@@ -1,4 +1,4 @@
-!standard 12.5(20/2)                                            11-03-03  AI05-0110-1/02
+!standard 12.5(20/2)                                            11-03-18  AI05-0110-1/03
 !standard 12.5.1(21/3)
 !class binding interpretation 08-08-08
 !status work item 08-08-08
@@ -56,9 +56,9 @@
 
      AARM note:
      The characteristics of a type do not include its primitive
-     subprograms. The rules governing availability/visibility and
-     inheritance of characteristics are separate from those
-     for primitive subprograms.
+     subprograms (including predefined operators). The rules governing
+     availability/visibility and inheritance of characteristics are separate
+     from those for primitive subprograms.
 
    [Add "characteristics" to the index for this paragraph, in addition to
    the definition in 7.3.]
@@ -74,12 +74,13 @@
 
    with
 
-     A private extension inherits characteristics (including
-     components, but excluding discriminants if there is a
-     new discriminant_part specified) and primitive subprograms
-     from its ancestor type and its progenitor types (if any), in the
-     same way that a record extension inherits characteristics
-     and primitive subprograms from its parent type and its progenitor
+     For a private extension, the characteristics
+     (including components, but excluding discriminants if there
+     is a new discriminant_part specified), predefined operators,
+     and inherited user-defined primitive subprograms are determined
+     by its ancestor type and its progenitor types (if any), in the
+     same way that those of a record extension are determined
+     by those of its parent type and its progenitor
      types (see 3.4).
 
    Replace 12.5.1(20/2)
@@ -92,12 +93,13 @@
 
    with
 
-     A formal derived type inherits characteristics (including
-     components, but excluding discriminants if there is a
-     new discriminant_part specified) and primitive subprograms
-     from its ancestor type and its progenitor types (if any), in the
-     same way that a record extension inherits characteristics
-     and primitive subprograms from its parent type and its progenitor
+     For a formal derived type, the characteristics
+     (including components, but excluding discriminants if there
+     is a new discriminant_part specified), predefined operators,
+     and inherited user-defined primitive subprograms are determined
+     by its ancestor type and its progenitor types (if any), in the
+     same way that those of a record extension are determined
+     by those of its parent type and its progenitor
      types (see 3.4).
 
    Replace the beginning of 12.5.1 (21/3)
@@ -815,7 +817,7 @@
 ****************************************************************
 
 From: Steve Baird
-Date: Thursday, March 3, 2010  2:45 PM
+Date: Thursday, March 3, 2011  2:45 PM
 
 Here is proposed wording for AI05-0110 (part of my Tampa homework).
 
@@ -834,7 +836,7 @@
 ****************************************************************
 
 From: Tucker Taft
-Date: Thursday, March 3, 2010  7:55 PM
+Date: Thursday, March 3, 2011  7:55 PM
 
 I wonder whether predefined operators should be part of the characteristics, while
 the other primitive subprograms are not.  Predefined operators "wink" into existence
@@ -844,7 +846,7 @@
 ****************************************************************
 
 From: Randy Brukardt
-Date: Friday, March 4, 2010  10:19 PM
+Date: Friday, March 4, 2011  10:19 PM
 
 > I wonder whether predefined operators should be part of the 
 > characteristics, while the other primitive subprograms are not.  
@@ -885,5 +887,30 @@
 type and ...".
 
 12.5.1(20/2) is essentially the same, and I'd have the same suggestion for it.
+
+****************************************************************
+
+From: Tucker Taft
+Date: Thursday, March 17, 2011  3:04 PM
+
+Suggested rewording of AI-110:
+
+      For a private extension, the characteristics
+      (including components, but excluding discriminants if there
+      is a new discriminant_part specified), predefined operators,
+      and inherited user-defined primitive subprograms are determined
+      by its ancestor type and its progenitor types (if any), in the
+      same way that those of a record extension are determined
+      by those of its parent type and its progenitor
+      types (see 3.4).
+
+      For a formal derived type, the characteristics
+      (including components, but excluding discriminants if there
+      is a new discriminant_part specified), predefined operators,
+      and inherited user-defined primitive subprograms are determined
+      by its ancestor type and its progenitor types (if any), in the
+      same way that those of a record extension are determined
+      by those of its parent type and its progenitor
+      types (see 3.4).
 
 ****************************************************************

Questions? Ask the ACAA Technical Agent