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

Differences between 1.4 and version 1.5
Log of other versions for file ai05s/ai05-0129-1.txt

--- ai05s/ai05-0129-1.txt	2009/01/17 05:13:00	1.4
+++ ai05s/ai05-0129-1.txt	2009/03/10 06:33:43	1.5
@@ -1,6 +1,8 @@
-!standard 10.1.1(12.2/2)                                           09-01-16  AI05-0129-1/02
+!standard 10.1.1(12.2/2)                                           09-03-09  AI05-0129-1/03
 !standard 10.1.1(12.3/2)
 !class binding interpretation 08-11-23
+!status Amendment 201Z 09-03-09
+!status ARG Approved  7-0-2  09-02-21
 !status work item 08-11-23
 !status received 08-11-23
 !priority Low
@@ -34,16 +36,14 @@
 
 The question arises because both (1) and (2) are type_declarations by
 3.2.1(2), so 10.1.1(12.3/2) says that an incomplete view is defined for
-both declarations. The language does not provide a way to chose between
+both declarations. The language does not provide a way to choose between
 them, indeed, they would appear to be illegal homographs.
 
 What is the intent here? (No limited view is declared of (1)).
 
 Another problem noted by the Portland meeting is that the wording of
 10.1.1(12.2/2) does not exclude nested packages declared in the private part
-of the enclosing package. Types declared in the private part are excluded
-by 10.1.1(12.3/2), so it appears that this is intentional. Is this the
-intent? (No.)
+of the enclosing package. Is this the intent? (No.)
 
 !recommendation
 
@@ -51,23 +51,24 @@
 
 !wording
 
-Modify 10.1.1(12.2/2),
+Modify 10.1.1(12.2/2):
 
-* For each nested package_declaration{ in the visible part}, a declaration of the 
+* For each nested package_declaration{ directly in the visible part}, a declaration of the 
  limited view of that package, with the same defining_program_unit_name.
 
 Modify 10.1.1(12.3/3):
 
-* For each type_declaration {that is not an incomplete_type_declaration} in the
-  visible part, an incomplete view of the type; if the type_declaration
-  is tagged, then the view is a tagged incomplete view.
+* For each type_declaration{directly} in the visible part {that is not an
+  incomplete_type_declaration}, an incomplete view of the type; if the
+  type_declaration is tagged, then the view is a tagged incomplete view.
 
+
 !discussion
 
 Two identical (except for the completion) incomplete views with the same
 name in a single scope would seem to be an illegal homograph. Neither of these
-declarations is the completion of the other, nor do any of the other hidden
-from all visibility rules apply. So 8.3(26/2) seems to say that the limited
+declarations is the completion of the other, nor do any of the other "hidden
+from all visibility" rules apply. So 8.3(26/2) seems to say that the limited
 view is illegal. But of course that is nonsense; we need to hide one of the
 declarations somehow. 
 
@@ -82,7 +83,7 @@
 of incomplete types in a limited view.
 
 For the second question, it would make no sense to include nested packages in
-the private part in the limited view, but not the associated types. We adjust
+the private part in the limited view. We adjust
 the wording to make these consistent.
 
 !corrigendum 10.1.1(12.2/2)
@@ -91,21 +92,21 @@
 @xbullet<For each nested @fa<package_declaration>, a declaration of the
 limited view of that package, with the same @fa<defining_program_unit_name>.>
 @dby
-@xbullet<For each nested @fa<package_declaration> in the visible part, a
-declaration of the limited view of that package, with the same
+@xbullet<For each nested @fa<package_declaration> directly in the visible part,
+a declaration of the limited view of that package, with the same
 @fa<defining_program_unit_name>.>
 
 !corrigendum 10.1.1(12.3/2)
 
 @drepl
-@xbullet<For each @fa<type_declaration> in the visible part, an incomplete
-view of the type; if the @fa<type_declaration> is tagged, then the view
-is a tagged incomplete view.>
+@xbullet<For each @fa<type_declaration> in the visible part, an
+incomplete view of the type; if the @fa<type_declaration> is tagged, then the
+view is a tagged incomplete view.>
 @dby
-@xbullet<For each @fa<type_declaration> that is not an
-@fa<incomplete_type_declaration> in the visible part, an incomplete
-view of the type; if the @fa<type_declaration>
-is tagged, then the view is a tagged incomplete view.>
+@xbullet<For each @fa<type_declaration> directly in the visible part that is
+not an @fa<incomplete_type_declaration>, an incomplete view of the type; 
+if the @fa<type_declaration> is tagged, then the view is a tagged incomplete
+view.>
 
 !ACATS Test
 

Questions? Ask the ACAA Technical Agent