comp.lang.ada
 help / color / mirror / Atom feed
From: dennison@telepath.com
Subject: Safety of subprogram'unchecked_access
Date: 1998/08/27
Date: 1998-08-27T00:00:00+00:00	[thread overview]
Message-ID: <6s42l4$ll5$1@nnrp1.dejanews.com> (raw)

I have an arcane question about using 'access on procedures.

I have the following situation: a generic package's body instantiates another
generic package. The other generic package has a routine that takes an
"access function" parameter. The "outer" generic's body passes into that
routine the 'access of a function declared in its body. When I try to compile
the "outer" generic's body, I get an error on that call stating
"LRM:3.10.2(32), If the subprogram denoted by the prefix is declared within a
generic unit, the expected type must be declared within that same generic
unit, Continuing"

That is indeed the gist of 3.10.2(32). I can see where there could be a
problem with the generic owner of the routine going out of scope. But it
seems that 'Access would be safe in my situation. The "access function" type
is declared in a package that cannot outlive the owner of the routine who's
address is passed in.

'Unchecked_Access is not allowed for subprograms, so how do I get around
this? The only solution I can see is to change the routine into a generic
parameter to the "inner" generic. But that loses the ability to change it on
the fly. Yuk.

--
T.E.D.

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




             reply	other threads:[~1998-08-27  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-27  0:00 dennison [this message]
1998-08-27  0:00 ` Safety of subprogram'unchecked_access Tucker Taft
1998-08-27  0:00 ` dennison
replies disabled

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