CVS difference for ais/ai-00130.txt

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

--- ais/ai-00130.txt	1999/03/22 22:33:21	1.2
+++ ais/ai-00130.txt	1999/04/15 16:54:14	1.3
@@ -1,12 +1,13 @@
-!standard H.4      (08)                               99-03-21  AI95-00130/03
+!standard H.4      (08)                               99-04-15  AI95-00130/04
 !class binding interpretation 96-04-13
+!status ARG approved (with editiorial changes) 8-0-1 99-03-25
 !status work item 96-04-17
 !status received 96-04-13
 !priority Medium
 !difficulty Medium
 !subject Enforcing Restrictions might violate the generic contract model.
 
-!summary 99-03-21
+!summary
 
 The enforcement of restrictions might violate the contract model
 of generics, as well as violate the "privateness" of code in a private part
@@ -16,13 +17,14 @@
 restrictions, the No_Local_Allocators restriction should not preclude nested
 generic instantiations.  No_Nested_Finalization is broadened to cover
 finalization associated with protected and task objects.   For the purposes
-of these checks, a generic template is logically expanded at the point
-of each instantiation, the type definition for a record or protected
-type is logically expanded at the point of any default-initialized object
-creation, and default parameter expressions are inserted where used.
+of these (post-compilation) rules, a generic template is logically
+expanded at the point of each instantiation, and all of the expressions of
+the type definition for a record or protected type logically appear
+at the point of any default-initialized object creation, and default parameter
+expressions logically appear where used.
 
 
-!question 96-04-13
+!question
 
 H.4(8) says:
 
@@ -40,7 +42,7 @@
 
 An implementation supporting the No_Task_Hierarchy, No_Nested_Finalization, or
 No_Local_Allocators restrictions must enforce the intent of these restrictions
-with compile-time and/or post-compilation checks.
+with checks prior to run-time.
 
 For the purposes of these checks:
 
@@ -48,9 +50,9 @@
 
    - If an object of a type is declared or allocated and not explicitly
      initialized, then all expressions appearing in the definition for
-     the type and any of its ancestors are presumed to be evaluated.
+     the type and any of its ancestors are presumed to be used.
 
-   - Default formal parameters are presumed to be evaluated only if the
+   - Default formal parameters are presumed to be used only if the
      corresponding actual parameter is not provided in a given call or
      instantiation;
 
@@ -73,7 +75,7 @@
 logically expanded at the point of instantiation for the purposes
 of this check.
 
-!wording 99-03-21
+!wording
 
 Paragraph H.4(8) should be revised to say simply:
 
@@ -89,14 +91,14 @@
     Objects with controlled, protected, or task parts, and access types
     that designate such objects, shall be declared only at library level.
 
-Paragraph 13.12(8) should be augmented to include rules for how the
+Paragraph 13.12(8) should be amended to include rules for how the
 enforcement of restrictions relates to the expansion of generic
 instantiations, default initializations, and default parameters.
 
-!discussion 99-03-21
+!discussion
 
 Precluding nested generic instances for the No_Local_Allocators restriction
-in H.4(8) in an attempt to preserve a generic control model for restrictions
+in H.4(8) in an attempt to preserve a generic contract model for restrictions
 is inconsistent with the rules for No_Task_Hierarchy given in D.7(3) and
 for No_Nested_Finalization given in D.7(4).  In general, enforcing
 pragma Restrictions across a partition will necessarily violate the
@@ -158,7 +160,7 @@
 is required of all implementations as part of implementing the
 Restrictions pragma, so this is not felt to be unduly burdensome.
 
-!appendix 99-03-21
+!appendix
 
 [Note: The original comment inadvertently referred to G.4(08)
  rather than H.4(08).  We have changed those references to H.4 here.]

Questions? Ask the ACAA Technical Agent