Version 1.4 of ais/ai-00031.txt

Unformatted version of ais/ai-00031.txt version 1.4
Other versions for file ais/ai-00031.txt

!standard 13.06 (02)          00-07-07 AI95-00031/05
!class confirmation 95-06-25
!status WG9 approved 96-12-07
!status ARG approved 11-0-0 96-10-07
!status ARG approved 8-0-0 96-06-17
!status work item 95-06-25
!status received 95-06-25
!priority Low
!difficulty Easy
!qualifier Clarification
!subject Unpacking a record type with primitive subprograms
!summary
The method outlined in 13.6 for changing representation is not allowed if the derived type has inherited (user-defined) subprograms.
!question
13.6(2) states, "To convert a record from one representation to another, two record types with a common ancestor type need to be declared, with no inherited subprograms."
Since this paragraph is bracketed in the AARM, the inadmissability of types with primitive subprograms is presumably a ramification of rules given elsewhere.
Where?
!response
It is forbidden by 13.1(10): "For an untagged derived type, no type-related representation items are allowed if the parent type ... has any user-defined primitive subprograms."
Note that predefined operators are not "inherited"; a type just gets them by virtue of being in some language-defined class of types.
!ACATS test
Create a B-Test which checks that type-related representation items are not allowed for an untagged derived type if the parent type has any user-defined primitive subprograms.
!appendix

!section 13.6(2)
!subject Unpacking a record type with primitive subprograms
!reference AARM-13.6(2);6.0
!from Norman Cohen
!reference as: 95-5100.a Norman H. Cohen 95-2-20>>
!discussion

This paragraph states, "To convert a record from one representation to
another, two record types with a common ancestor type need to be
declared, with no inherited subprograms."

Since this paragraph is bracketed, the inadmissability of types with
primitive subprograms is presumably a ramification of rules given
elsewhere.

Where?

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

From the editor, July 7, 2000

At the Potsdam ARG meeting (the 11th ARG meeting), it was decided that this
AI should not appear in the Records of Response, as it is a question on
the AARM, and not on the standard itself.

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

Questions? Ask the ACAA Technical Agent