comp.lang.ada
 help / color / mirror / Atom feed
* "Ada Gems": Constructor functions
@ 2007-09-05 18:10 Tomek Wałkuski
  2007-09-05 22:47 ` Jeffrey R. Carter
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Tomek Wałkuski @ 2007-09-05 18:10 UTC (permalink / 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?




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-09-12  7:39 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-05 18:10 "Ada Gems": Constructor functions Tomek Wałkuski
2007-09-05 22:47 ` 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox