From: Simon Wright <simon@pushface.org>
Subject: Re: making a son benefit access ton an instanciation of a generic package required as a formal parameter to his father and instanciated by him
Date: Mon, 22 Jan 2018 15:52:04 +0000
Date: 2018-01-22T15:52:04+00:00 [thread overview]
Message-ID: <ly8tcp28nv.fsf@pushface.org> (raw)
In-Reply-To: p449qd$9ml$1@dont-email.me
"J-P. Rosen" <rosen@adalog.fr> writes:
> Right, and there is a good reason.
> Assuming exception E is declared in generic package GP1:
>
> Imagine this:
> generic
> package P1 is new GP1 (<>);
> package P2 is new GP1 (<>);
> package GP2 is... end GP2;
>
> package body GP2 is
> ...
> begin
> exception
> when P1.E => -- not allowed by Ada
> ...
> when P2.E => -- not allowed by Ada
> ...
> end GP2;
>
> So far, so good. But then, if you instantiate:
> package Inst1 is new GP1;
>
> package Inst2 is new GP2 (Inst1, Inst1);
>
> then you would end up with two different handlers for the same
> exception (since formals P1 and P2 are actually the same package
> Inst1). And
This doesn't seem a million miles away from having name clashes caused
by use-visibility.
Agreed, the _instantiation_ must fail.
next prev parent reply other threads:[~2018-01-22 15:52 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-21 15:43 making a son benefit access ton an instanciation of a generic package required as a formal parameter to his father and instanciated by him Mehdi Saada
2018-01-21 15:58 ` Simon Wright
2018-01-21 17:30 ` Mehdi Saada
2018-01-21 17:39 ` Simon Wright
2018-01-21 17:50 ` Dmitry A. Kazakov
2018-01-21 20:15 ` Mehdi Saada
2018-01-21 20:41 ` Dmitry A. Kazakov
2018-01-21 21:29 ` Mehdi Saada
2018-01-21 21:31 ` Mehdi Saada
2018-01-21 22:20 ` Jeffrey R. Carter
2018-01-21 23:07 ` Mehdi Saada
2018-01-21 23:10 ` Mehdi Saada
2018-01-22 8:28 ` Dmitry A. Kazakov
2018-01-22 9:25 ` Simon Wright
2018-01-23 1:23 ` Randy Brukardt
2018-01-21 22:04 ` J-P. Rosen
2018-01-22 15:36 ` Mehdi Saada
2018-01-22 15:54 ` Mehdi Saada
2018-01-22 15:52 ` Simon Wright [this message]
2018-01-23 1:33 ` Randy Brukardt
2018-01-23 14:05 ` Mehdi Saada
2018-01-23 1:13 ` 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