From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Class-wide types algebra
Date: Wed, 5 Oct 2016 15:42:30 -0500
Date: 2016-10-05T15:42:30-05:00 [thread overview]
Message-ID: <nt3ois$pht$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: nsnsho$6om$1@gioia.aioe.org
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:nsnsho$6om$1@gioia.aioe.org...
> On 2016-10-01 07:47, Randy Brukardt wrote:
...
>> We're talking about the type that both publically and privately
>> implements
>> the same interface.
>
> In the example provided it is P1.Child_1.T2.
>
>> (The private one inherited from the parent, the public
>> one directly added.) And we're talking about a conversion that occurs
>> where
>> the private interface is visible (so *both* copies of the interface are
>> visible).
>
> What converted to the type? But it is irrelevant anyway. The interface
> instances were already visible in the private part of the package where
> the offending type was declared. The conflict was *already* resolved
> there, or the type declaration rejected.
I need to write out the entire example to get a sensible answer from you. I
unfortunately don't have time, as I have to get the agenda ready for the ARG
meeting that starts on Saturday (and of course I'll be traveling all day
Friday). So I'm going to have to drop this discussion. (So I didn't read
your reply, sorry.)
The problem eventually becomes a run-time problem, since type conversions
are primarily runtime artifacts. That's very ugly.
And you can't reject the declaration that has two distinct copies of the
same interface, because that would clearly violate privacy. So you get into
a situation where you have to chose between two copies of an interface, with
identical names, at runtime, presumably based on visibility. That's not
going to work.
Randy.
P.S. Dmitry, Don't bother answering, I'm not going to read it or answer.
Just can't afford the time. Sorry.
prev parent reply other threads:[~2016-10-05 20:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-12 20:26 Class-wide types algebra Dmitry A. Kazakov
2016-09-12 21:12 ` rieachus
2016-09-12 21:39 ` Dmitry A. Kazakov
2016-09-13 11:46 ` rieachus
2016-09-13 12:26 ` Dmitry A. Kazakov
2016-09-28 0:05 ` Randy Brukardt
2016-09-28 7:31 ` Dmitry A. Kazakov
2016-09-28 20:17 ` Randy Brukardt
2016-09-29 8:06 ` Dmitry A. Kazakov
2016-09-29 18:44 ` Randy Brukardt
2016-09-29 19:55 ` Dmitry A. Kazakov
2016-10-01 5:47 ` Randy Brukardt
2016-10-01 8:35 ` Dmitry A. Kazakov
2016-10-05 20:42 ` Randy Brukardt [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox