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

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

--- ai05s/ai05-0053-1.txt	2008/01/18 07:45:24	1.3
+++ ai05s/ai05-0053-1.txt	2008/03/07 06:15:19	1.4
@@ -1,6 +1,7 @@
-!standard 3.10(9/2)                                08-01-18    AI05-0053-1/03
+!standard 3.10(9/2)                                08-02-25    AI05-0053-1/04
 !standard 6.5(2.1/2)
 !class binding interpretation 07-05-15
+!status ARG Approved  8-0-0  08-02-09
 !status work item 07-05-15
 !status received 07-05-07
 !priority Medium
@@ -10,7 +11,8 @@
 
 !summary
 
-Ban aliased return objects (except for explicitly limited types).
+Remove the aliased reserved word from the syntax of extended_return_statement;
+make immutably limited return objects implicitly aliased.
 
 !question
 
@@ -23,20 +25,21 @@
 
 !recommendation
 
-Ban aliased return objects (except for explicitly limited types).
+Ban aliased return objects (except for immutably limited types).
 
 !wording
 
+Note: This wording depends on the definition of "immutably limited" added
+in AI05-0052-1.
+
 In 3.10(9/2), replace
    The current instance of a limited tagged type, a protected type,
    a task type, or a type that has the reserved word *limited* in its
    full definition is also defined to be aliased.
 with
-   In the case of a limited tagged type, a protected type,
-   a task type, or an explicitly limited record type, the
-   current instance of the type is defined to be aliased, as is
-   any return object of such a type that is declared via an
-   extended_return_statement (see 6.5).
+   The current instance of an immutably limited type is defined to be
+   aliased, as is the return object of an extended_return_statement
+   (see 6.5) that is of an immutably limited type.
 
 In 6.5(2.1) (syntax for extended_return_statement), delete "[aliased]".
    
@@ -201,10 +204,9 @@
 @fa<object_declaration> or @fa<component_definition> with the reserved word
 @b<aliased>, or by a renaming of an aliased view. In addition, the dereference
 of an access-to-object value denotes an aliased view, as does a view conversion
-(see 4.6) of an aliased view. The current instance of a limited tagged type, a
-protected type, a task type, or an explicitly limited record type, the
-current instance of the type is defined to be aliased, as is any return object
-of such a type that is declared via an @fa<extended_return_statement> (see 6.5).
+(see 4.6) of an aliased view. The current instance of an immutably limited type
+is defined to be aliased, as is the return object of an @fa<extended_return_statement>
+(see 6.5) that is of an immutably limited type.
 Finally, a formal parameter or generic formal object of a tagged type is
 defined to be aliased. Aliased views are the ones that can be designated by
 an access value.

Questions? Ask the ACAA Technical Agent