From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_40,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!uunet!tut.cis.ohio-state.edu!ucbvax!CRC.SKL.DND.CA!williams From: williams@CRC.SKL.DND.CA (Dave Williamson) Newsgroups: comp.lang.ada Subject: Re: layering with discriminants Message-ID: <9103051800.AA05744@crc.skl.dnd.ca> Date: 5 Mar 91 18:00:43 GMT Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: In INFO-ADA Digest 91-39, David A. Hasan writes: >GENERIC > TYPE size is (<>); >PACKAGE g_lowLevel IS > TYPE adt (i : size) IS PRIVATE; ... lines deleted >GENERIC > TYPE length is (<>); >PACKAGE g_highLevel IS > TYPE adt (i : length) IS PRIVATE; >PRIVATE > PACKAGE low_level IS NEW g_lowLevel(length); > TYPE adt (i : length) IS NEW low_level.adt(i); >END g_highLevel; Refer to LRM 3.7.1(3) - "A discriminant part is only allowed in the type declaration for a record type, in a private type declaration or an incomplete type declaration..." I don't see anything there about derived types. It appears that your compiler was correct to reject, but may have led you down the garden path with its message. Dave Williamson Software Kinetics Ltd. Ottawa Ontario, Canada williams@crc.skl.dnd.ca