From: dennison@telepath.com
Subject: Extensions in generic bodies - Language Laywer question
Date: 1998/10/08
Date: 1998-10-08T00:00:00+00:00 [thread overview]
Message-ID: <6vijho$qps$1@nnrp1.dejanews.com> (raw)
Here's one for the langauge Laywers. 3.9.1(4) says: "A type extension shall
not be declared in a generic body if the parent type is declared outside that
body. "
Does that also go for instantiating generics that *cause* a type extension? My
compiler seems to think so.
My situation: I'm trying to create a generic object. Internally (In the body)
I want to keep a queue of these objects. I figure I'll use the Ada95
Booch-components. So in my generic's body I'm instantiating a Booch-Component
container with the object that my generic was instantiated with. However,
BC.Containers contains a type extension in its private section. So when I
compile my generic's body, my compiler blows up at the line of my
instantiation of BC.Containers parroting LRM:3.9.1(4) and also pointing to
the type extension in BC.Containers.
generic
type Object is private;
package Interface_Object is
.
.
.
end Interface Object;
with BC.Containers;
package body Interface_Object is
type Object_Ptr is access all Object; package Object_Container is new
BC.Containers (Item => Object, Item_Ptr => Object_Ptr); package
Object_Queue is new Object_Container.Queues.Bounded (Maximum_Size => 10,
Bnd_Queue_Nodes => Object_Container); . . . end Interface_Object;
Compiling 'Interface_Object.adb': Thu Oct 08 09:47:13 1998
interface_object.adb: Error: line 7 col 30 LRM:3.9.1(4), A type extension may
not be declared in a generic body if the parent type is declared outside that
body; this applies to the visible part of a generic instantiation (In
instance of generic Containers at bc-containers.ads: line 47 col 10)
--
T.E.D.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
next reply other threads:[~1998-10-08 0:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-10-08 0:00 dennison [this message]
1998-10-08 0:00 ` Extensions in generic bodies - Language Laywer question Robert I. Eachus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox