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 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!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Why does `Unchecked_Deallocation` need the access type? Date: Wed, 29 Jul 2015 15:47:15 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <5d6faxxdsssv.15g7kj5hv86mk$.dlg@40tude.net> <170ajsv4tazu3.mgrs0or8en9w$.dlg@40tude.net> NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1438202837 1354 24.196.82.226 (29 Jul 2015 20:47:17 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 29 Jul 2015 20:47:17 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:27153 Date: 2015-07-29T15:47:15-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:mu2l292s5nlq$.1ag4nqmfs3kyl$.dlg@40tude.net... ... > Of course nobody should ever declare non-primitive operations defined on > the parent type. And doing that in the public scope is almost a criminal > offense. I agree this is not a realistic example. But it's possible, and it's the sort of problem (known as a "Bairdian problem" within the ARG, in honor of Steve Baird, who has an uncanny ability to come up with these weird examples that kill otherwise appealing ideas) that causes no end of trouble when defining new features for Ada, as they have to be addressed somehow. It would be more realistic in a public child package, but even there your point would hold. Randy. P.S. 'Public_Parent probably would have worked. Not sure why we didn't go that way, maybe it didn't work for delegation. And both attributes are annoying when there is no parent, as in: type P is tagged private; as they have to be illegal in that case, causing generic contract problems. All solvable, but continually getting messier.