From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!reality.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Class-wide types algebra Date: Wed, 5 Oct 2016 15:42:30 -0500 Organization: JSA Research & Innovation Message-ID: References: <2837d915-12c8-4c23-8907-1d146d1abae7@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: franka.jacob-sparre.dk 1475700125 26173 24.196.82.226 (5 Oct 2016 20:42:05 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 5 Oct 2016 20:42:05 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-RFC2646: Format=Flowed; Response Xref: news.eternal-september.org comp.lang.ada:32005 Date: 2016-10-05T15:42:30-05:00 List-Id: "Dmitry A. Kazakov" 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.