From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Array conversion and bounds
Date: Sun, 15 Apr 2018 16:11:27 +0300
Date: 2018-04-15T16:11:27+03:00 [thread overview]
Message-ID: <fjh1bvFq9vhU1@mid.individual.net> (raw)
In-Reply-To: <pavgt4$1ahd$1@gioia.aioe.org>
On 18-04-15 15:34 , Dmitry A. Kazakov wrote:
> On 2018-04-15 12:37, Niklas Holsti wrote:
>> On 18-04-15 12:36 , Dmitry A. Kazakov wrote:
>>> Do array bounds slide during conversion? Consider this:
>>>
>>> type A is array (Integer range <>) of Whatever;
>>> type B is array (Unsigned_32 range <>) of Whatever;
>>>
>>> X : A (-10..-1);
>>> Y : B (1..10);
>>> begin
>>> Y := B (X); -- Is this OK?
>>>
>>> If bounds slide it must be OK, if bounds do not slide, it must raise
>>> Constraint_Error.
>>>
>>> Any language lawyers?
>>
>> I believe the bounds should _not_ slide, because the "target subtype"
>> of the conversion is type B, which is an _unconstrained_ array subtype.
>
> Better to say, they should, but they do not.
Ok, if I read the RM correctly (and you seem to agree with me) they "do
not" slide when the target subtype is unconstrained.
> Clearly conversions like this should not require resorting to
> Unchecked_Conversion.
Is there some reason why you cannot use the constrained-target-subtype
method to force sliding?
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2018-04-15 13:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-15 9:36 Array conversion and bounds Dmitry A. Kazakov
2018-04-15 10:37 ` Niklas Holsti
2018-04-15 12:34 ` Dmitry A. Kazakov
2018-04-15 13:11 ` Niklas Holsti [this message]
2018-04-15 13:24 ` Dmitry A. Kazakov
2018-04-15 18:21 ` Niklas Holsti
2018-04-15 20:29 ` Dmitry A. Kazakov
2018-04-15 17:55 ` Robert A Duff
2018-04-15 20:15 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox