From: Maxim Reznik <max1@mbank.com.ua>
Subject: controlled initialization
Date: Mon, 16 Dec 2002 09:04:53 +0200
Date: 2002-12-16T07:10:57+00:00 [thread overview]
Message-ID: <3DFD7B15.9050800@mbank.com.ua> (raw)
Hi!
Can you help me?
I'm stuck with following example.
I expected statement
return Statement'(Ada.Finalization.Controlled with C => 0);
created object of type Statement,
then Initialyze procedure would be called for it and
Put_Line printed "Init".
But when I compile program with GNAT 3.15p for Linux
it doesn't happen.
May be it's bug of GNAT?
Thank you
Maxim Reznik
------------------------------------
with Ada.Finalization;
package Tests is
type Statement is new Ada.Finalization.Controlled with record
C : Integer;
end record;
procedure Initialize (Item : in out Statement);
subtype Class is Ada.Finalization.Controlled'Class;
function Create_Statement return Class;
end Tests;
------------------------------------
with Ada.Text_IO;
package body Tests is
procedure Initialize (Item : in out Statement) is
begin
Ada.Text_IO.Put_Line ("Init");
end Initialize;
function Create_Statement return Class is
begin
return Statement'(Ada.Finalization.Controlled with C => 0);
end Create_Statement;
end Tests;
------------------------------------
with Tests;
procedure Test is
use Tests;
Object : Class := Create_Statement;
begin
null;
end Test;
next reply other threads:[~2002-12-16 7:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-16 7:04 Maxim Reznik [this message]
2002-12-16 14:33 ` controlled initialization 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
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