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

Differences between 1.6 and version 1.7
Log of other versions for file ai05s/ai05-0087-1.txt

--- ai05s/ai05-0087-1.txt	2008/11/27 01:47:20	1.6
+++ ai05s/ai05-0087-1.txt	2009/10/29 04:36:11	1.7
@@ -108,13 +108,13 @@
 The actual type for a formal derived type shall be a descendant of the ancestor
 type and every progenitor of the formal type. If the reserved word @b<synchronized>
 appears in the declaration of the formal derived type, the actual type shall be a
-synchronized tagged type. 
+synchronized tagged type.
 @dby
 The actual type for a formal derived type shall be a descendant of the ancestor
 type and every progenitor of the formal type. If the formal type is nonlimited,
 the actual type shall be nonlimited. If the reserved word @b<synchronized>
 appears in the declaration of the formal derived type, the actual type shall be a
-synchronized tagged type. 
+synchronized tagged type.
 
 !ACATS Test
 
@@ -164,7 +164,7 @@
     end;
 
 I also didn't  find the general rule (whose existence I had always assumed)
-that a class-wide type is limited iff the corresponding specific type is 
+that a class-wide type is limited iff the corresponding specific type is
 limited. An unfriendly reading of 7.5 could suggest that if a specific limited
 type has no limited components, then the corresponding class-wide type is not
 limited. Is this just an oversight, or am I missing something?
@@ -204,6 +204,108 @@
 
 (plus the usual replacement of the preceding bullet's "."
 with a ";")
+
+****************************************************************
+
+!topic Class-wide types can be limited, right?
+!reference 7.5(3-7)
+!from Adam Beneschan 09-10-28
+!discussion
+
+This might be a possible omission.  7.5(3-6) lists the things that can make a
+type limited; 7.5(7) says "Otherwise, the type is nonlimited".
+
+It's not clear to me that if T is a limited tagged type, then this section of
+the RM makes T'Class limited.  None of the items in 7.5 make T'Class limited
+(unless T happens to have a limited component), unless you say that the
+type_definition that defines T is also the definition of T'Class---which isn't
+clear to me from the rest of the RM.  But it seems like it's necessary to
+specify somehow that T'Class is limited if T is, otherwise an variable of type
+T'Class could appear on the left of an assignment.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, October 28, 2009  6:46 PM
+
+I assume you are looking at an Ada 2005 standard. If you look at the current
+working draft of the Standard, you will see that 7.5(5/3) says: "a class-wide
+type whose specific type is limited;". And the AARM references AI05-0087-1. That
+is, we've known that omission for a while and it is already fixed.
+
+P.S. At least you weren't the one that reported this omission previously.
+:-) That was Steve Baird this time.
+
+****************************************************************
+
+From: Adam Beneschan
+Sent: Wednesday, October 28, 2009  6:53 PM
+
+OK, I see.  Unfortunately, the title of that AI is "Formal nonlimited derived
+types should not have limited actual types", so when I was looking to see if
+this problem had already been brought up, it didn't occur to me to look in that
+one.  I know, AI's often cover multiple things, so I shouldn't rely on the
+titles---guess it's time for me to reprogram the search algorithm in my brain...
+
+Anyway, thanks for the pointer.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, October 28, 2009  7:04 PM
+
+Well, now that the draft updated Standard is available to the public (which it
+has been since last fall), it makes sense to review it for relevant changes.
+That's how I found the new text; I didn't look in the AIs at all (until I wrote
+that P.S. at the end). Admittedly, it helped that I knew that we'd fixed that
+problem, but we've fixed a *lot* of problems and no one can remember them all.
+
+I personally use the updated Standard almost exclusively, I only look back at
+the earlier ones if I have a specific question about a particular language
+version. (Especially as I use the AARM with the changes marked, so I can usually
+figure out the old text if I need it.) But I'd only recommend that for committed
+language lawyers (which you surely qualify as), not the general public.
+
+So I suggest starting with the draft updated Standard first, then perhaps check
+AIs.
+
+****************************************************************
+
+From: Adam Beneschan
+Sent: Wednesday, October 28, 2009  7:36 PM
+
+Thanks.  For some reason I had missed that this was avaliable already. Dan gave
+me a pointer to the draft updated Standard, and I've looked at it a bit, and
+already I have a nitpick.  In the AARM, the updated paragraph you mentioned,
+7.5(5/3) which says that class-wide are limited if their specific type is
+limited, refers to AI95-0087 and not AI05-0087.
+
+But it really does help.  Many thanks,
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, October 28, 2009  7:54 PM
+
+> Thanks.  For some reason I had missed that this was available already.
+
+For the record, I posted a message here on December 5, 2008 that the draft was
+available. I recall that you'd asked me about it earlier last year; I didn't
+realize that you didn't know it was available, especially with all of the typos
+that other people had posted about it here. I would have mentioned it
+earlier...you were the main reason that I pushed to get permission to make it
+available publicly.
+
+For anyone else who is interested, it is available here:
+http:/www.adaic.org/standards/ada1z.html
+
+> Dan gave me a pointer to the draft updated Standard, and I've looked
+> at it a bit, and already I have a nitpick.  In the AARM, the updated
+> paragraph you mentioned, 7.5(5/3) which says that class-wide are
+> limited if their specific type is limited, refers to AI95-0087 and not
+> AI05-0087.
+
+Oops. Fixed. I'm sure there will be many more.
 
 ****************************************************************
 

Questions? Ask the ACAA Technical Agent