CVS difference for 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