CVS difference for ais/ai-00193.txt

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

--- ais/ai-00193.txt	1999/04/15 16:54:17	1.4
+++ ais/ai-00193.txt	1999/06/22 01:44:37	1.5
@@ -1,12 +1,13 @@
-!standard 07.06.01 (04)                               99-04-15  AI95-00193/04
+!standard 07.06.01 (04)                               99-06-12  AI95-00193/04
 !standard 07.06.01 (16)
 !class binding interpretation 97-08-19
+!status WG9 approved 99-06-12
 !status ARG approved (with editiorial changes) 6-0-3 99-03-25
 !status work item 98-04-02
 !status received 97-08-19
 !priority High
 !difficulty Hard
-!subject Classwide Adjust and exceptions
+!subject Classwide Initialize, Adjust, and exceptions
 
 !summary
 
@@ -84,7 +85,7 @@
 of which parts failed and which succeeded, and only finalize those
 whose Adjust succeeded.  Note that if some of the Adjust operations
 had failed in an assignment statement, all parts would ultimately
-still be finalized when the scope is exited and the master is left.
+still be finalized when the master is left.
 
 One of the important goals of the finalization model with respect to
 exceptions (paragraphs 7.6.1(14-18)) is that if one controlled
@@ -708,7 +709,7 @@
 Sent: 	Friday, April 10, 1998 1:51 PM
 Subject: 	Re: AI-00193/1
 
-> I'm not sure I buy this rule any more.  There seems no harm in 
+> I'm not sure I buy this rule any more.  There seems no harm in
 > stopping after the first failing Adjust operation in the case of
 > an assignment operation used as part of initialization, so long
 > as only parts for which Adjust has been invoked are in fact finalized.
@@ -723,20 +724,20 @@
 Sent: 	Friday, April 10, 1998 3:37 PM
 Subject: 	RE: AI-00193/1
 
-Tucker: Thanks for noticing that the AI goes too far.  That saves me having 
+Tucker: Thanks for noticing that the AI goes too far.  That saves me having
 to figure it out how to explain it.
 
-I think it is important that we not force existing implementations to 
-change here (unless they want to, or if they are actually wrong.)  This is 
-a failure case, and the important issue is to write the rules so that the 
-failure of one abstraction doesn't kill an unrelated one.  We don't want or 
+I think it is important that we not force existing implementations to
+change here (unless they want to, or if they are actually wrong.)  This is
+a failure case, and the important issue is to write the rules so that the
+failure of one abstraction doesn't kill an unrelated one.  We don't want or
 need to over-specify the behavior beyond that needed to insure that.
 
-As noted previously in my mail on the subject (attached to the AI), it is 
-reasonably possible to implement the correct semantics (taking into account 
-AI-147 permissions) without much additional code.  While an extra 
-permission which allows even less code to be used is attractive, it 
-certainly should not be made into a requirement --the improvement in code 
+As noted previously in my mail on the subject (attached to the AI), it is
+reasonably possible to implement the correct semantics (taking into account
+AI-147 permissions) without much additional code.  While an extra
+permission which allows even less code to be used is attractive, it
+certainly should not be made into a requirement --the improvement in code
 size may not be significant for many applications.
 
 ****************************************************************
@@ -753,21 +754,21 @@
 
 Yes.  I think the key requirements are:
 
-   1) A part of an object must be finalized if and only if it has 
-      been either successfully default initialized, or, as part of 
+   1) A part of an object must be finalized if and only if it has
+      been either successfully default initialized, or, as part of
       initialization-by-assignment, been adjusted (successfully or not).
 
    2) During an assignment statement, once a part of the LHS object
-      is overwritten with a copy of the corresponding part of the 
+      is overwritten with a copy of the corresponding part of the
       right-hand-side, that part must be adjusted.
 
 Presuming these requirements are satisfied, I don't see any
 need for the notion of "adjustments due to be performed" during
-initialization by assignment.  
+initialization by assignment.
 
-During an assignment *statement*, the "adjustments due to be performed" 
-are defined by requirement (2), namely once some part of the LHS object 
-has been overwritten, adjustment is "due to be performed" on that part 
+During an assignment *statement*, the "adjustments due to be performed"
+are defined by requirement (2), namely once some part of the LHS object
+has been overwritten, adjustment is "due to be performed" on that part
 of the LHS object.
 
 -Tuck

Questions? Ask the ACAA Technical Agent