comp.lang.ada
 help / color / mirror / Atom feed
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.


  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