From: Bill Findlay <yaldnifw@blueyonder.co.uk>
Subject: Re: controlled initialization
Date: Tue, 17 Dec 2002 02:00:54 +0000
Date: 2002-12-17T02:00:54+00:00 [thread overview]
Message-ID: <BA2435D6.139A%yaldnifw@blueyonder.co.uk> (raw)
In-Reply-To: DpvL9.30910$4W1.11730@nwrddc02.gnilink.net
On 17/12/02 01:50, in article DpvL9.30910$4W1.11730@nwrddc02.gnilink.net,
"Hyman Rosen" <hyrosen@mail.com> wrote:
>
> Interesting. So (remembering that I don't know Ada) the following
> would be illegal as well? If it is, is there a way to do what the
> code obviously intends? Do I understand the issue correctly, that
> is that MakeT could use O?
>
> package P is
> type T is private;
> O : constant T;
> private
> type T is new Controlled with null record;
> function MakeT return T;
> O : constant T := MakeT;
> end P;
>
We don�t need O to be deferred, or T to derive from Controlled,
for that sort of construction to fail, unfortunately.
All that's necessary is to call a function defined in the body of P
during the elaboration of P's spec.
This makes hiding the manufacture of exported ADT constants somewhat
problematic.
--
Bill-Findlay chez blue-yonder.co.uk ("-" => "")
next prev parent reply other threads:[~2002-12-17 2:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-16 7:04 controlled initialization Maxim Reznik
2002-12-16 14:33 ` Hyman Rosen
2002-12-16 15:06 ` Robert A Duff
2002-12-16 23:26 ` Matthew Heaney
2002-12-17 1:50 ` Hyman Rosen
2002-12-17 2:00 ` Bill Findlay [this message]
2002-12-17 7:55 ` Simon Wright
2002-12-17 6:59 ` Maxim Reznik
2002-12-16 23:31 ` Stephen Leake
2002-12-16 23:31 ` Matthew Heaney
-- strict thread matches above, loose matches on Subject: below --
2002-12-17 6:20 Grein, Christoph
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox