From: "Tomek Wałkuski" <tomek.walkuski@gmail.com>
Subject: "Ada Gems": Constructor functions
Date: Wed, 05 Sep 2007 18:10:27 -0000
Date: 2007-09-05T18:10:27+00:00 [thread overview]
Message-ID: <1189015827.384331.17490@k79g2000hse.googlegroups.com> (raw)
Hi,
motivated by this article posted at adacore.com I have written some
code:
---------
t.ads
---------
with Ada.Strings.Unbounded;
use Ada.Strings.Unbounded;
package T is
type Object (<>) is tagged limited private;
function Create_Object (Name : in String) return Object;
function Construct return Object;
function Name (This : in Object) return String;
type Object is tagged limited
record
Name : Unbounded_String;
end record;
end T;
---------
t.adb
---------
package body T is
function Create_Object (Name : in String) return Object is
return (Name => To_Unbounded_String (Name));
end Create_Object;
function Construct return Object is
return Create_Object (Name => "Object without a name!");
end Construct;
function Name (This : in Object) return String is
begin
return To_String (This.Name);
end Name;
type Object is tagged limited
record
Name : Unbounded_String;
end record;
end T;
---------
test_t.adb
---------
with T;
procedure Test_T is
Some_Object : constant T.Object := Construct;
begin
null;
end Test_T;
------------------------------
... and tried to compile it.
(Gentoo Linux, gnat-gpl-4.1.3.2007)
Compiler said:
"
+================GNAT BUG DETECTED==================+
| GPL 2007 (20070402-41) (i686-pc-linux-gnu) Assert_Failure namet.adb:
687 |
(...)
compilation abandoned
gnatmake: "test_t.adb" compilation error
"
Is it REALLY a compiler bug? Or am I only dumb? :) Maybe I'm doing
something, somewhere wrong?
next reply other threads:[~2007-09-05 18:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-05 18:10 Tomek Wałkuski [this message]
2007-09-05 22:47 ` "Ada Gems": Constructor functions Jeffrey R. Carter
[not found] ` <1189064716.528979.201170@19g2000hsx.googlegroups.com>
2007-09-06 7:54 ` Tomek Wa kuski
2007-09-06 13:55 ` Robert A Duff
2007-09-06 14:12 ` Tomek Wa kuski
2007-09-06 0:04 ` Robert A Duff
2007-09-06 16:16 ` anon
2007-09-07 10:38 ` Tomek Wa kuski
2007-09-07 15:17 ` Robert A Duff
2007-09-08 18:20 ` Tomek Wa kuski
2007-09-10 13:46 ` Tomek Wa kuski
2007-09-11 7:51 ` Georg Bauhaus
2007-09-11 10:26 ` Tomek Wa kuski
2007-09-11 21:33 ` Anh Vo
2007-09-12 7:39 ` Tomek Wa kuski
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox