comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam@spam.com>
Subject: Re: Interesting effects in array renaming
Date: Sun, 22 Jun 2003 17:24:17 GMT
Date: 2003-06-22T17:24:17+00:00	[thread overview]
Message-ID: <3EF5E6B8.3030203@spam.com> (raw)
In-Reply-To: bd4fmr$p4kfn$1@ID-77047.news.dfncis.de

Dmitry A. Kazakov wrote:
> ---------- test.adb
> with Ada.Text_IO;  use Ada.Text_IO;
> 
> procedure Test is
>    type Some_Array is array (Integer range <>) of Integer;
> 
>    procedure Foo (X : Some_Array) is
>       subtype Constrained is Some_Array (1..X'Length);
>       XX : Constrained renames X;
>    begin
>       Put_Line
>       (  "XX'Range:"
>       &  Integer'Image (XX'First)
>       &  ".."
>       &  Integer'Image (XX'Last)
>       &  ", Constrained'Range:"
>       &  Integer'Image (Constrained'First)
>       &  ".."
>       &  Integer'Image (Constrained'Last)
>       );
>    end Foo;
> 
>    Object : Some_Array (-3..2) := (-3, -2, -1, 0, 1, 2);
> begin
>    Foo (Object);
> end Test;
> ---------- test.adb
> 
> Surprisingly the above produces different ranges for XX and its declared 
> subtype. Isn't something wrong here?

Note that you can also do

subtype Constrained is Some_Array (1..X'Length-1);

or

subtype Constrained is Some_Array (1..3);

with similar results. You can also do

XX : Some_Array renames X;

which perhaps demonstrates more clearly where the object's subtype comes 
from.

-- 
Jeff Carter
"English bed-wetting types."
Monty Python & the Holy Grail




  reply	other threads:[~2003-06-22 17:24 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-22 14:52 Interesting effects in array renaming Dmitry A. Kazakov
2003-06-22 17:24 ` Jeffrey Carter [this message]
2003-06-23  8:12   ` Dmitry A. Kazakov
2003-06-23 10:29     ` Georg Bauhaus
2003-06-23 11:37       ` Dmitry A. Kazakov
2003-06-23 13:28         ` Georg Bauhaus
2003-06-24  7:35           ` Dmitry A. Kazakov
2003-06-24 14:38             ` Georg Bauhaus
2003-06-25 10:28               ` Dmitry A. Kazakov
2003-06-25 14:23                 ` Georg Bauhaus
2003-06-25 19:00                   ` Dmitry A. Kazakov
2003-06-24  2:35     ` Robert I. Eachus
2003-06-24  7:35       ` Dmitry A. Kazakov
2003-06-24 10:08         ` Lutz Donnerhacke
2003-06-24 11:53         ` Georg Bauhaus
2003-06-24 12:48           ` Dmitry A. Kazakov
2003-06-26  2:54             ` Randy Brukardt
2003-06-26  6:27               ` Vinzent Hoefler
2003-06-26 12:44                 ` Georg Bauhaus
2003-06-26 13:01                   ` Vinzent Hoefler
replies disabled

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