CVS difference for ais/ai-00135.txt
--- ais/ai-00135.txt 2000/06/21 23:39:09 1.7
+++ ais/ai-00135.txt 2000/07/15 02:29:58 1.8
@@ -1,4 +1,4 @@
-!standard 08.05.04 (05) 00-04-11 AI95-00135/04
+!standard 08.05.04 (05) 00-07-13 AI95-00135/05
!standard 08.05.04 (08)
!class binding interpretation 96-05-07
!status Corrigendum 2000 99-08-13
@@ -9,8 +9,8 @@
-!subject Circular Renamings as Body
+!subject Circular renamings as body
@@ -32,7 +32,7 @@
- 5 The profile of a renaming-as-body shall be subtype-conformant with that
+ The profile of a renaming-as-body shall be subtype-conformant with that
of the renamed callable entity, and shall conform fully to that of the
declaration it completes. If the renaming-as-body completes that declaration
before the subprogram it declares is frozen, the subprogram it declares takes
@@ -64,15 +64,6 @@
anyway, in order to avoid an infinite loop during semantic analysis.
Therefore, we might as well let the compiler give an error message,
rather than generating infinitely-recursive code.
-The wording of the recommendation refers to the effect of the rule in
-8.5.4(5), rather than stating the exact cases explicitly, because the
-explicit definition would be complicated. Here's another way to state
-the rule: Start from the renaming-as-body in question. Follow all
-renamings-as-declaration. Follow all renamings-as-body that occur
-before their own freezing point. Do not follow other renamings-as-body.
-If you eventually get back to the declaration of the subprogram in
-question, then it's illegal.
Note that some circularities are legal. In particular, if the
renaming-as-body completes a subprogram *after* that subprogram is
Questions? Ask the ACAA Technical Agent