CVS difference for ais/ai-00345.txt

Differences between 1.23 and version 1.24
Log of other versions for file ais/ai-00345.txt

--- ais/ai-00345.txt	2005/10/31 05:18:32	1.23
+++ ais/ai-00345.txt	2005/11/16 06:51:10	1.24
@@ -1,8 +1,9 @@
-!standard  3.09.01    (03)                             05-09-20  AI95-00345/11
+!standard  3.09.01    (03)                             05-11-15  AI95-00345/12
 !standard  2.09       (02)
 !standard  3.02       (12)
 !standard  3.02       (13)
 !standard  3.09       (02)
+!standard  3.09.01    (01)
 !standard  3.09.02    (20)
 !standard  3.09.03    (01)
 !standard  3.09.03    (02)
@@ -327,7 +328,8 @@
 
     Every type extension is also a
     tagged type, and is either a record extension {of some other tagged
-    type,}[ or] a private extension{, or a non-interface task or protected type
+    type,}[ or] a private extension of some other tagged
+    type{, or a non-interface task or protected type
     derived from an interface type (a synchronized tagged type -- see 3.9.4)}
     [of some other tagged type]. A record extension is defined by a
     derived_type_definition with a record_extension_part{ (see 3.9.1),
@@ -337,6 +339,12 @@
     of a package (see 7.3) or in a generic formal part (see 12.5.1).
 
 
+Change 3.9.1(1) to:
+
+    Every type extension is a tagged type, and is either a record extension or
+    a private extension of some other tagged type, or a non-interface
+    task or protected type derived from an interface type.
+
 Modify the first sentence of 3.9.1(3):
 
     The parent type of a record extension shall not be a class-wide type {nor
@@ -1159,15 +1167,25 @@
 simply a @i<type extension>.
 
 Every type extension is also a tagged type, and is either a @i<record
-extension> of some other tagged type, a @i<private extension>, or a
-non-interface task or protected type derived from an interface type (a
-synchronized tagged
+extension> of some other tagged type, a @i<private extension> of some other
+tagged type, or a non-interface task or protected type derived from an
+interface type (a synchronized tagged
 type @emdash see 3.9.4). A record extension is defined by a
 @fa<derived_type_definition> with a @fa<record_extension_part> (see 3.9.1),
 which may include the definition of additional components. A private
 extension, which is a partial view of a record extension or of a
 synchronized tagged type, can be declared in the visible part of a
 package (see 7.3) or in a generic formal part (see 12.5.1).
+
+!corrigendum 3.9.1(1)
+
+@drepl
+Every type extension is a tagged type, and is either a @i<record extension> or
+a @i<private extension> of some other tagged type.
+@dby
+Every type extension is a tagged type, and is either a @i<record extension> or
+a @i<private extension> of some other tagged type, or a non-interface
+task or protected type derived from an interface type.
 
 !corrigendum 3.9.1(3)
 

Questions? Ask the ACAA Technical Agent