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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4ed596f1f077b44e X-Google-Attributes: gid103376,public From: jsa@alexandria (Jon S Anthony) Subject: Re: Primitive Operations Question Date: 1996/08/01 Message-ID: #1/1 X-Deja-AN: 171391326 sender: news@organon.com (news) references: <31FE812C.7B3D@ix.netcom.com> organization: Organon Motives, Inc. newsgroups: comp.lang.ada Date: 1996-08-01T00:00:00+00:00 List-Id: In article stt@henning.camb.inmet.com (Tucker Taft) writes: > : Much to my dismay, the following procedure compiles on the WebAda > : (GNAT 3.04) compiler. By my reading of RM95 3.2.3, A and B don't > : fit any part of the definition of primitive operations, so I > : don't see why iheritance seems to be occurring. When I replace > : all three types with a hierarchy of tagged types, both calls > : fail to compile, as I would have expected. > > : Any insight would be much appreciated. > > Your reading is correct; GNAT must have a bug in this area. OK, I stuck my foot in my mouth on this one. I missed the fact that the types are not defined in a _package specification_ so 3.2.3(6) does not apply. Or is there something more mysterious going on here? BTW, I have wondered at times why there was this restriction as opposed to allowing any operation within the same immediate scope of the type declaration be primitive. It does seem a little cleaner to have these things restricted to package specs, but it is also (paradoxically) a little more confusing. /Jon -- Jon Anthony Organon Motives, Inc. 1 Williston Road, Suite 4 Belmont, MA 02178 617.484.3383 jsa@organon.com