comp.lang.ada
 help / color / mirror / Atom feed
From: Chris Moore <zmower@ntlworld.com>
Subject: Re: Dispatch on the result still does not work?
Date: Sat, 11 Jul 2009 18:50:42 +0100
Date: 2009-07-11T18:50:42+01:00	[thread overview]
Message-ID: <xh46m.85371$%Q1.20406@newsfe12.ams2> (raw)
In-Reply-To: <1c6l5llyivd71.9dw3tmgglnlv.dlg@40tude.net>

Dmitry A. Kazakov wrote:
> On Sat, 11 Jul 2009 12:09:57 +0100, Chris Moore wrote:
> 
>> Dmitry A. Kazakov wrote:
>>> Considering this one:
>>>
>>> package P is
>>>    type T is tagged null record;
>>>    function Value return T;
>>>       
>>>    type S is new T with null record;
>>>    function Value return S;
>>> end P;
>>>       
>>> package body P is
>>>    function Value return T is
>>>    begin
>>>       return (null record);
>>>    end Value;
>>>       
>>>    function Value return S is
>>>    begin
>>>       return (T with null record);
>>>    end Value;
>>> end P;
>>>
>>> use P;
>>>    
>>>    X : T'Class := S'(Value);
>>> begin
>>>    X := Value; -- Ambiguous?
>>>
>>> I would expect it rather dispatching on the tag of X, i.e. selecting Value,
>>> which returns S.
>>>
>> But X is of type T'Class.  Or did you mean X := X.Value;?
> 
> No. I meant function Value that has no arguments.

Then both versions of Value are in scope and return types that can be
assigned to T'Class.  Sounds ambiguous to me.

X := S'(Value);?



  reply	other threads:[~2009-07-11 17:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-11 10:04 Dispatch on the result still does not work? Dmitry A. Kazakov
2009-07-11 11:09 ` Chris Moore
2009-07-11 12:05   ` Dmitry A. Kazakov
2009-07-11 17:50     ` Chris Moore [this message]
2009-07-11 19:22       ` Dmitry A. Kazakov
2009-07-11 11:32 ` Hibou57 (Yannick Duchêne)
2009-07-11 12:20   ` Dmitry A. Kazakov
2009-07-11 13:36     ` Hibou57 (Yannick Duchêne)
2009-07-11 13:39       ` Hibou57 (Yannick Duchêne)
2009-07-11 15:19       ` Dmitry A. Kazakov
2009-07-11 18:08         ` Hibou57 (Yannick Duchêne)
2009-07-11 19:29           ` Dmitry A. Kazakov
2009-07-11 23:22             ` Hibou57 (Yannick Duchêne)
2009-07-12  9:46               ` Dmitry A. Kazakov
2009-07-11 18:54 ` Georg Bauhaus
2009-07-11 19:40   ` Dmitry A. Kazakov
2009-07-12 10:40     ` Chris Moore
2009-07-12 11:30       ` Dmitry A. Kazakov
2009-07-12 16:05         ` Chris Moore
2009-07-12 16:38           ` Dmitry A. Kazakov
2009-07-12 17:11             ` AdaMagica
2009-07-12 20:30               ` sjw
2009-07-13 16:55                 ` Adam Beneschan
2009-07-13 21:47                   ` sjw
2009-07-13 22:50                     ` Adam Beneschan
2009-07-14 21:06                       ` sjw
2009-07-13 15:13 ` Adam Beneschan
2009-07-13 15:17   ` Adam Beneschan
2009-07-13 16:33     ` AdaMagica
2009-07-13 18:46   ` Adam Beneschan
replies disabled

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