comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Dispatch on the result still does not work?
Date: Sat, 11 Jul 2009 21:22:03 +0200
Date: 2009-07-11T21:21:57+02:00	[thread overview]
Message-ID: <1wqdbionvt0ko$.1eyn16nbeb0pe$.dlg@40tude.net> (raw)
In-Reply-To: xh46m.85371$%Q1.20406@newsfe12.ams2

On Sat, 11 Jul 2009 18:50:42 +0100, Chris Moore wrote:

> 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.

It is, if you don't consider them dispatching, which was the question.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2009-07-11 19:22 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
2009-07-11 19:22       ` Dmitry A. Kazakov [this message]
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