comp.lang.ada
 help / color / mirror / Atom feed
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;












             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