From: "Ed Colbert" <colbert@abssw.com>
Subject: Dispatching Example
Date: Mon, 3 Sep 2001 08:16:53 -0700
Date: 2001-09-03T08:16:53-07:00 [thread overview]
Message-ID: <G9Nk7.77$K35.2047@news.pacbell.net> (raw)
Hi All,
Below is a simplified example from Richard Riehle's & my course on Ada.
GNAT v3.13p says that the call Is_Item is an mbiguous expression, and
ObjectAda v 7.2 says the statement is illegal based on LRM 5.2(6). Both
Richard and I thought that the expression is tag indeterminate, LRM
3.9.2(6), and would static resolved, LRM 3.9.2(19). Are Richard and I
missing something or are both compilers wrong?
package Dispatching_Examples
is
type T1 is tagged private;
function Is_Item return T1;
type T2 is new T1 with private;
function Is_Item return T2;
private
-- full definition of T1 and T2
type T1 is tagged null record;
type T2 is new T1 with null record;
end Dispatching_Examples;
with Dispatching_Examples;
use Dispatching_Examples;
procedure Dispatching_Examples_Driver is
A, B : T1; -- simple variables
Q, R : T2; -- simple variables
C : T1'Class := A; -- class-wide variable
D : T2'Class := R ; -- class-wide variable
begin
C := Is_Item ; -- static resolution?
end Dispatching_Examples_Driver;
next reply other threads:[~2001-09-03 15:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-09-03 15:16 Ed Colbert [this message]
2001-09-04 10:55 ` Dispatching Example Jacob Sparre Andersen
2001-09-04 21:30 ` Tucker Taft
2001-09-04 22:18 ` Pat Rogers
2001-09-05 16:02 ` Tucker Taft
2001-09-05 21:19 ` Florian Weimer
2001-09-10 0:50 ` Ed Colbert
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox