comp.lang.ada
 help / color / mirror / Atom feed
From: Blady <p.p11@orange.fr>
Subject: Limited with too restrictive?
Date: Sat, 13 Jan 2024 17:11:35 +0100	[thread overview]
Message-ID: <unucno$89u$1@dont-email.me> (raw)

Hello,

I want to break some unit circularity definitions with access types as 
for instance with record:

    type R1;
    type AR1 is access R1;
    type R1 is record
       Data : Natural;
       Next : AR1;
    end record;

In my case, I have a unit:

package test_20240113_modr is
    type R2 is record
       Data : Natural;
    end record;
    type AR2 is access R2;
end test_20240113_modr;

"limited withed" in:

limited with test_20240113_modr;
package test_20240113_mods is
procedure PS1 (V : test_20240113_modr.R2);
procedure PS2 (V : test_20240113_modr.AR2);
end;

Let's imagine the circularity, thus PS1 and PS2 definition are legal.

Of course the following isn't legal:

type AS1 is array (1..2) of test_20240113_modr.R2; -- illegal

However why not with access type:

type AS2 is array (1..2) of test_20240113_modr.AR2; -- illegal

Likewise, why not:

    type AS3 is record
       Data : Natural;
       Next : test_20240113_modr.AR2; -- illegal
    end record;

Isn't "limited with" too restrictive, is it?

Well, I could make some code transferts from unit to another or access 
conversions, that's I actually do but at heavy cost.

Thanks, Pascal.

             reply	other threads:[~2024-01-13 16:11 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-13 16:11 Blady [this message]
2024-01-14  4:31 ` Limited with too restrictive? 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