CVS difference for ai05s/ai05-0214-1.txt
--- ai05s/ai05-0214-1.txt 2010/06/13 04:24:42 1.1
+++ ai05s/ai05-0214-1.txt 2010/08/05 02:05:42 1.2
@@ -1,7 +1,5 @@
-!standard 3.3.1(9/2) 10-06-12 AI05-0214-1/01
-!standard 3.7(9.1/2)
-!standard 4.8(6/3)
-!standard 6.5(5.9/3)
+!standard 3.7(9.1/2) 10-08-04 AI05-0214-1/02
+!standard 3.7.2(3)
!class amendment 10-06-12
!status work item 10-06-12
!status received 10-06-12
@@ -28,7 +26,7 @@
that doesn't use priorities); in that case, having to explicitly provide
a priority is a nuisance.
-This limitation such be eliminated.
+This limitation should be eliminated.
!proposal
@@ -36,39 +34,23 @@
!wording
-Modify 3.3.1(9/2):
-
- If a composite object declared by an object_declaration has an
- unconstrained nominal subtype, then if this subtype is indefinite{,
- is nonformal limited tagged} or the
- object is constant the actual subtype of this object
- is constrained. The constraint is determined by the bounds or discriminants
- (if any) of its initial value; the object
- is said to be constrained by its initial value. ...
-
Modify 3.7(9.1/2):
No default_expressions are permitted in a known_discriminant_part in a
declaration of a {nonlimited} tagged type [or a generic formal type].
-
-Modify 4.8(6/3): (As modified by AI05-0041-1)
-
- If the designated type of the type of the allocator is elementary, then
- the subtype of the created object is the designated subtype. If the
- designated type is composite, then the subtype of the created object is
- the designated subtype when the designated subtype is constrained {or
- nonformal limited tagged} or there is an ancestor of the designated
- type that has a constrained a partial view of the designated type that
- is constrained; otherwise, the created always constrained; if the
- designated subtype is constrained, then it provides the constraint
- of the created object; otherwise, the object is constrained by its
- initial value [(even if the designated subtype is unconstrained with
- defaults)].
-Modify 6.5(5.9/3): (As modified by AI05-0032-1)
+Modify 3.7.2(3):
- ... If the nominal subtype is indefinite {or nonformal limited tagged},
- the return object is constrained by its initial value. ...
+A'Constrained
+ Yields the value True if A denotes a constant, a value, [or] a constrained
+ variable{, or a tagged object}, and False otherwise.
+
+AARM Reason: Tagged objects always are considered constrained by this attribute
+to avoid distributed overhead for parameters of limited classwide types, as
+limited tagged objects may technically be unconstrained if they use defaulted
+discriminants. Such objects still cannot have their discriminants changed, as
+assignment is not supported for them, so there is no use for this attribute
+that would justify the overhead of passing it with all classwide parameters.
!discussion
@@ -85,11 +67,11 @@
and thus the value of 'Constrained would have to be passed with the parameter.
Since 'Constrained is not useful for limited types, this is pointless.
-Thus we define objects of nonformal limited tagged types to be constrained
-by their initial value. (We don't use "immutably limited" as that would be
-incompatible -- changing the value of 'Constrained in useless changes -- and
-it does not cover all limited tagged types [although we may decide to fix
-that.]
+Thus we 'Constrained to be True for all tagged objects, regardless of the form of
+their discriminants. We considered a more consistent rule which would
+define objects of nonformal limited tagged types to be constrained
+by their initial value, but it required too many wording changes for a "simple"
+change.
!example
@@ -396,31 +378,6 @@
I don't think this change would have any effect one way or the other on the
implementation of build-in-place, but that's ok.
-
-****************************************************************
-
-From: Bob Duff
-Date: Friday, May 21, 2010 1:29 PM
-
-****************************************************************
-
-From: Bob Duff
-Date: Friday, May 21, 2010 1:29 PM
-
-****************************************************************
-
-From: Bob Duff
-Date: Friday, May 21, 2010 1:29 PM
-
-****************************************************************
-
-From: Bob Duff
-Date: Friday, May 21, 2010 1:29 PM
-
-****************************************************************
-
-From: Bob Duff
-Date: Friday, May 21, 2010 1:29 PM
****************************************************************
Questions? Ask the ACAA Technical Agent