CVS difference for ais/ai-00168.txt
--- ais/ai-00168.txt 1999/03/10 17:15:47 1.5
+++ ais/ai-00168.txt 1999/06/22 01:44:37 1.6
@@ -1,5 +1,6 @@
-!standard 04.06 (00) 99-02-23 AI95-00168/03
+!standard 04.06 (00) 99-06-12 AI95-00168/03
!class binding interpretation 96-11-16
+!status WG9 approved 99-06-12
!status ARG Approved 7-0-0 98-10-09
!status work item 98-04-04
!status received 96-11-16
@@ -7,16 +8,16 @@
!difficulty Easy
!subject Aliased objects cannot have discriminants modified
-!summary 99-02-23
+!summary
-A view conversion is illegal if the target subtype and the operand do not
-have both aliased components or both non-aliased components.
+A view conversion of an array object is illegal if the target subtype and
+the operand do not have both aliased components or both non-aliased components.
A discriminant constraint for a general access type is illegal if the
designated subtype is a private type with default discriminants, but the
partial view has no discriminants.
-!question 98-04-04
+!question
Consider the following code fragment:
@@ -45,17 +46,17 @@
end;
begin
S (Q.A2 (Q.X)); -- This call will change the discriminant of Q.X (1)
-end;
+ end;
This example illustrates a case where it is possible to change the
discriminant of an aliased component of an object, which is supposed to be
forbidden.
-!recommendation 98-04-04
+!recommendation
(See wording.)
-!wording 98-04-04
+!wording
Add the following clause after RM95 4.6(12):
@@ -70,7 +71,7 @@
private type with defaulted discriminants, if the partial view of the private
type has no discriminants.
-!discussion 98-04-04
+!discussion
The problem (1) comes from the fact that it is possible to use a view
conversion to convert an array object with aliased components to an array type
@@ -104,7 +105,7 @@
considering that constraints on access types are not a terribly useful
feature.
-!appendix 96-11-16
+!appendix
!section 4.6(00)
!subject Aliased objects can have discriminants modified
Questions? Ask the ACAA Technical Agent