Version 1.1 of si99s/si99-0044-1.txt

Unformatted version of si99s/si99-0044-1.txt version 1.1
Other versions for file si99s/si99-0044-1.txt

!standard 16.6          09-02-12 SI99-0044-1/01
!class Binding Interpretation 08-10-21
!status work item 08-10-21
!status received 08-10-21
!priority Low
!difficulty Easy
!qualifier Omission
!subject Parent subtype without a declaration
!summary
If the ancestor type in a derived type declaration has no explicit declaration, the value returned by Corresponding_Parent_Subtype is implementation defined.
!question
Corresponding_Parent_Subtype (16.6) is defined as returning an Asis.Declaration. What is returned by the following declaration?
type T is new Integer'Base;
There is no declaration for Integer'Base!
!recommendation
(See summary.)
!wording
After "The parent subtype is defined by the parent_subtype_indication." add:
If the parent subtype has no explicit declaration, the value returned is implementation defined.
!discussion
This Corresponding_Parent_Subtype is rather redundant, Parent_Subtype_Indication gives the appropriate information without losing anything. This routine seems pretty much useless (it is the combination of two other ASIS routines), and it doesn't return anything useful in many cases. So it probably should be obsolescent.
But even if we make obsolescent, we need to say something about what it does. We should say it is implementation-defined (we don't want to make implementers any work to make it work in a particular way - it exists only for compatibility with old programs, and for that, whatever it was doing in the old implementation is best).
!appendix

****************************************************************


!appendix


****************************************************************

Questions? Ask the ACAA Technical Agent