From: Tomek Wa kuski <tomek.walkuski@gmail.com>
Subject: Re: "Ada Gems": Constructor functions
Date: Thu, 06 Sep 2007 07:54:02 -0000
Date: 2007-09-06T07:54:02+00:00 [thread overview]
Message-ID: <1189065242.201148.254440@50g2000hsm.googlegroups.com> (raw)
In-Reply-To: <1189064716.528979.201170@19g2000hsx.googlegroups.com>
The "working" code is:
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;
private
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
begin
return (Name => To_Unbounded_String (Name));
end Create_Object;
function Construct return Object is
begin
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;
end T;
test_t.adb:
with T;
procedure Test_T is
Some_Object : constant T.Object := Construct;
begin
null;
end Test_T;
------
tomek@genbox [~/Desktop/test_t] $ gnatmake test_t.adb
gnatgcc -c test_t.adb
test_t.adb:4:39: "Construct" is not visible
test_t.adb:4:39: non-visible declaration at t.ads:8
gnatmake: "test_t.adb" compilation error
(and no bug report)
Why "Construct" is not visible?
next prev parent reply other threads:[~2007-09-06 7:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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