comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Anonymous Access and Accessibility Levels
Date: Mon, 22 Apr 2019 17:11:19 -0500
Date: 2019-04-22T17:11:19-05:00	[thread overview]
Message-ID: <q9le67$cc0$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: a89faa70-f56a-4c33-967e-ddb24eaa8a8b@googlegroups.com


"Jere" <jhb.chat@gmail.com> wrote in message 
news:a89faa70-f56a-4c33-967e-ddb24eaa8a8b@googlegroups.com...
...
> I think that D.The_T has an accessibility level relative to where
> an object of type D is declared?

Yes, but there are special rules for allocators, for objects created as 
return objects, and many other special cases. This area is not for the faint 
of heart. In fact, it is only for those that like beating their heads 
bloody.

As always, I suggest the following rules:

(1) Do not use anonymous access types unless you absolutely need one of the 
special capabilities that can only be done with them.
(2) Under no circumstances, do anything that cannot be checked statically. 
(So no one should use dynamic accessibility checks of anonymous access 
parameters or SAOAATs).
(3) Think three times before depending upon access parameter dispatching and 
anonymous access-to-subprograms.
   (A) If you find that you really need these things, complain to the ARG 
that you should be able to but cannot do these things with named access 
types. (This limitation is idiotic, as it requires repeating long 
declarations at every usage.) [I need help getting this fixed!!]
(4) Keep access types out of visible specifications (since they make memory 
management much harder, and locks in clients to suboptimal memory 
managment).

                                                       Randy.



  parent reply	other threads:[~2019-04-22 22:11 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-20 15:29 Anonymous Access and Accessibility Levels Jere
2019-04-20 15:58 ` J-P. Rosen
2019-04-22 22:03   ` Randy Brukardt
2019-04-24 10:42   ` Jere
2019-04-24 23:27     ` Randy Brukardt
2019-04-26  2:47       ` Optikos
2019-05-11 11:58         ` Jere
2019-04-26 17:12     ` G.B.
2019-05-11 12:06       ` Jere
2019-05-14  0:03         ` Randy Brukardt
2019-04-22 22:11 ` Randy Brukardt [this message]
2019-04-22 22:23   ` Shark8
2019-04-23 23:42     ` Randy Brukardt
2019-04-23  7:44   ` Dmitry A. Kazakov
2019-04-23 23:47     ` Randy Brukardt
2019-04-24 10:34   ` Jere
2019-04-24 10:44     ` Jere
2019-04-24 23:21       ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox