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!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Visibility of Indexing aspects Date: Wed, 25 Jul 2018 19:12:21 -0500 Organization: JSA Research & Innovation Message-ID: References: <40d568da-4715-42de-8e28-98da39a5c974@googlegroups.com> <34f499f7-020f-4dcc-adad-0ab1113386d1@googlegroups.com> <9d69e7b5-6b2d-4607-9f7b-affa78c41620@googlegroups.com> <41c711cb-0300-4a41-93d3-e69297ae1945@googlegroups.com> <42de4aa3-9e7c-44b8-aa84-712cc7ce03c6@googlegroups.com> <9b6b6f10-5956-4a19-83f5-c1c015c62602@googlegroups.com> <8720f70a-59b1-4297-b2fc-78804ec88b7b@googlegroups.com> <756cb66b-1ef8-4d9e-b679-118b6c59e89c@googlegroups.com> <1392b483-af72-4dbe-ad51-bd703405b7a8@googlegroups.com> <3eebe2fb-f066-4248-9b2f-1db32497fd82@googlegroups.com> Injection-Date: Thu, 26 Jul 2018 00:12:22 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="30975"; mail-complaints-to="news@jacob-sparre.dk" 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.7246 Xref: reader02.eternal-september.org comp.lang.ada:53964 Date: 2018-07-25T19:12:21-05:00 List-Id: "Dan'l Miller" wrote in message news:3eebe2fb-f066-4248-9b2f-1db32497fd82@googlegroups.com... On Wednesday, July 25, 2018 at 2:58:44 PM UTC-5, AdaMagica wrote: >> Much ado about nothing. >> >> The writer of this code erroneously put things in the private part which >> should have been public. There is a compiler bug leaking from privacy >>which seduced the writer into thinking that his wrong code is correct. >> >> The RM is very precise about this, see the references in this thread. >> >> Love's Labours Lost with any further discussion. > >In other words, I made an insightful good point ... Sounds like babble to me. What's used by the client has to be public, period. ... >The _LRM_'s forcing of {Reference, Reference_Holder, Container_Array, ...} >to be public declarations ... ...is perfectly fine -- there's nothing wrong or dangerous with using them directly. Indeed, "indexing" is just a shorthand for a longer call involving Reference -- you're always allowed to make the longer call, just like you are allowed to put in .all even if you could have omitted it. We went to substantial lengths to ensure that you can't keep a reference value longer than the existence of the return object from Reference -- regardless of how you use the package. (Telling people not to do something is never an effective technique for safety!) If you have declarations that *can't* be used directly, then put them into the private part. But you're never supposed to be getting a half-and-half situation. Randy.