CVS difference for ais/ai-00044.txt

Differences between 1.3 and version 1.4
Log of other versions for file ais/ai-00044.txt

--- ais/ai-00044.txt	1999/08/31 22:53:53	1.3
+++ ais/ai-00044.txt	1999/10/08 23:41:05	1.4
@@ -1,4 +1,5 @@
-!standard 08.03    (09-10)                            99-08-31  AI95-00044/05
+!standard 08.03    (09-10)                            99-10-07  AI95-00044/06
+!standard 08.03    (26)
 !class binding interpretation 95-06-25
 !status Corrigendum 2000 99-07-20
 !status WG9 approved 96-12-07
@@ -85,8 +86,8 @@
 @dby
 Two homographs are not generally allowed immediately within the same
 declarative region unless one @i<overrides> the other (see Legality Rules
-below).  The only declarations that are @i<overridable> are the implicit
-declarations for predefined operators or inherited primitive subprograms.
+below). The only declarations that are @i<overridable> are the implicit
+declarations for predefined operators and inherited primitive subprograms.
 A declaration overrides another homograph that occurs immediately within
 the same declarative region in the following cases:
 
@@ -98,6 +99,35 @@
 @dby
 @xbullet<A declaration that is not overridable overrides one that is
 overridable, regardless of which declaration occurs first;>
+
+!corrigendum 8.03(26)
+
+@drepl
+An explicit declaration is illegal if there is a homograph occurring
+immediately within the same declarative region that is visible at the place
+of the declaration, and is not hidden from all visibility by the explicit
+declaration. Similarly, the @fa<context_clause> for a @fa<subunit> is illegal if it
+mentions (in a @fa<with_clause>) some library unit, and there is a homograph of
+the library unit that is visible at the place of the corresponding stub, and
+the homograph and the mentioned library unit are both declared immediately
+within the same declarative region. These rules also apply to dispatching
+operations declared in the visible part of an instance of a generic unit.
+However, they do not apply to other overloadable declarations in an instance;
+such declarations may have type conformant profiles in the instance, so long
+as the corresponding declarations in the generic were not type conformant.
+@dby
+A non-overridable declaration is illegal if there is a homograph occurring
+immediately within the same declarative region that is visible at the place
+of the declaration, and is not hidden from all visibility by the non-overridable
+declaration. Similarly, the @fa<context_clause> for a @fa<subunit> is illegal if it
+mentions (in a @fa<with_clause>) some library unit, and there is a homograph of
+the library unit that is visible at the place of the corresponding stub, and
+the homograph and the mentioned library unit are both declared immediately
+within the same declarative region. These rules also apply to dispatching
+operations declared in the visible part of an instance of a generic unit.
+However, they do not apply to other overloadable declarations in an instance;
+such declarations may have type conformant profiles in the instance, so long
+as the corresponding declarations in the generic were not type conformant.
 
 !ACATS test
 For the first part of this ruling, tests C67002A.Ada, C67002D.Ada, etc. check

Questions? Ask the ACAA Technical Agent