CVS difference for 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