From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Ada 2005 puzzle
Date: Thu, 12 Jul 2012 14:54:08 +0200
Date: 2012-07-12T14:54:08+02:00 [thread overview]
Message-ID: <1arp60wtxes8h$.1qs6bt732ztgp.dlg@40tude.net> (raw)
Here is a simplified case illustrating an issue with constructing functions
and limited aggregates:
-------------------------------------------- package P
with Ada.Finalization;
package P is
type T (<>) is new Ada.Finalization.Limited_Controlled with private;
function Create return T;
private
type T is new Ada.Finalization.Limited_Controlled with null record;
end P;
- - - - - - - - - - - - - - - - - - - - - - - -
package body P is
function Create return T is
begin
return (Ada.Finalization.Limited_Controlled with null record);
end Create;
end P;
-------------------------------------------- package Q
with P; use P;
package Q is
type S is abstract new T with null record;
type R is new S with null record;
overriding function Create return R;
end Q;
- - - - - - - - - - - - - - - - - - - - - - - -
package body Q is
function Create return R is
begin
return (T'(Create) with null record); -- Error!
end Create;
end Q;
Is there a way to implement Create (without compromising the package P)?
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next reply other threads:[~2012-07-12 12:54 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 12:54 Dmitry A. Kazakov [this message]
2012-07-12 15:48 ` Ada 2005 puzzle Adam Beneschan
2012-07-12 16:34 ` Dmitry A. Kazakov
2012-07-19 6:53 ` Randy Brukardt
2012-07-19 7:55 ` Dmitry A. Kazakov
2012-07-20 2:22 ` Randy Brukardt
2012-07-20 7:20 ` Dmitry A. Kazakov
2012-07-21 0:04 ` Randy Brukardt
2012-07-21 8:34 ` Dmitry A. Kazakov
2012-07-24 2:38 ` Randy Brukardt
2012-07-24 4:23 ` Adam Beneschan
2012-07-24 7:54 ` Dmitry A. Kazakov
2012-07-25 23:39 ` Randy Brukardt
2012-07-26 7:41 ` Dmitry A. Kazakov
2012-07-26 13:08 ` Simon Wright
2012-07-26 13:55 ` Dmitry A. Kazakov
2012-07-27 9:42 ` AdaMagica
2012-07-27 10:32 ` Dmitry A. Kazakov
2012-07-27 11:58 ` Georg Bauhaus
2012-07-27 13:04 ` Dmitry A. Kazakov
2012-07-28 9:48 ` AdaMagica
2012-07-28 10:37 ` Dmitry A. Kazakov
2012-07-28 16:59 ` AdaMagica
2012-07-28 18:21 ` Dmitry A. Kazakov
2012-07-19 8:04 ` Maciej Sobczak
[not found] ` <juaghb$fv9$1@munin.nbi.dk>
2012-07-20 7:30 ` Dmitry A. Kazakov
2012-07-21 17:21 ` Vasiliy Molostov
2012-07-21 19:03 ` Dmitry A. Kazakov
2012-07-21 19:37 ` Vasiliy Molostov
2012-07-21 20:23 ` Dmitry A. Kazakov
2012-07-21 20:53 ` Vasiliy Molostov
2012-07-22 7:41 ` Dmitry A. Kazakov
2012-07-22 8:00 ` Vasiliy Molostov
2012-07-22 8:19 ` Dmitry A. Kazakov
2012-07-22 9:06 ` Vasiliy Molostov
2012-07-22 9:34 ` Dmitry A. Kazakov
2012-07-20 8:09 ` Maciej Sobczak
2012-07-20 8:27 ` Dmitry A. Kazakov
2012-07-20 11:30 ` Maciej Sobczak
2012-07-20 12:49 ` Dmitry A. Kazakov
2012-07-21 22:46 ` Maciej Sobczak
2012-07-22 8:03 ` Dmitry A. Kazakov
2012-07-22 10:08 ` Florian Weimer
2012-07-22 11:18 ` Dmitry A. Kazakov
2012-07-21 0:12 ` Randy Brukardt
2012-07-22 9:52 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox