CVS difference for ai05s/ai05-0039-1.txt
--- ai05s/ai05-0039-1.txt 2008/05/10 05:14:33 1.4
+++ ai05s/ai05-0039-1.txt 2008/05/29 04:36:46 1.5
@@ -1,4 +1,4 @@
-!standard 13.3(4) 08-04-21 AI05-0039-1/03
+!standard 13.3(4) 08-05-15 AI05-0039-1/04
!class binding interpretation 07-02-02
@@ -26,7 +26,7 @@
can be legally written when specifying a stream attribute. Indeed, the elaboration and
freezing rules combine to make anything but pathological expressions illegal.
-AI05-0019 proposes to relax the freezing rules for subprograms, which would make more
+AI05-0019 relaxed the freezing rules for subprograms, which would make more
of these expressions legal. But even with those relaxations, only pathological cases
(those that raise exceptions or that access subprograms already available directly)
would be legal.
@@ -52,7 +52,7 @@
-The current freezing rules make most remotely interesting dynamic expressions illegal.
+The original freezing rules make most remotely interesting dynamic expressions illegal.
type My_Big_Int is range 0 .. 10000;
@@ -74,8 +74,8 @@
If Good_Write'Access is replaced by null, (2) is legal, but of course it isn't useful
as it must raise Constraint_Error.
-The proposed rules for AI05-0019 would relax the freezing rules such that
-freezing a subprogram would not necessarily freeze the types of its parameters and
+The approved rules for AI05-0019 relax the freezing rules such that freezing a
+subprogram would not necessarily freeze the types of its parameters and
result. But a subprogram call would freeze those types. That would allow the
@@ -109,12 +109,11 @@
Thus we conclude that this feature is useless and most examples are pathologies
(raising predefined exceptions). When a feature is certain to raise an exception,
we prefer a compile-time rule to accelerate the detection of the error. In this
-case, it might be possible to write cases that would be legal (depending on the
-outcome of AI05-0019), but this clearly will take a non-zero implementation effort.
-We don't want implementers spending their time implementing pathologies, so we make
+case, it is be possible to write cases that would be legal, but this clearly
+will take a non-zero implementation effort. We don't want implementers spending
+their time implementing pathologies, so we make it illegal.
-This new rule would only be incompatible in the case of pathologies. And it frees
+This new rule would only be incompatible in the case of pathologies. And it freed
AI05-0019 from having to consider the impact on stream attributes.
Questions? Ask the ACAA Technical Agent