comp.lang.ada
 help / color / mirror / Atom feed
From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: how to import a package
Date: Thu, 07 Dec 2006 12:21:04 +0100
Date: 2006-12-07T12:21:04+01:00	[thread overview]
Message-ID: <7ft8le.vk1.ln@hunter.axlog.fr> (raw)
In-Reply-To: <4577dc92$1_1@glkas0286.greenlnk.net>

Stuart a �crit :
>    package body P is
>       type T is array(0..5) of integer;
>       A, B : array(0..5) of integer;
>       C, D : T;
>    begin
>       A := B;
>       -- Not allowed because types don't match!
>       C := D;
>       -- Types match!
>    end P;
> 
> [...]
> However, both C and D are of the same named type - even though the type T 
> has an anonymous type as an index range.  I think it is better to avoid 
> anonymous types - so the declaration of T might be better written as:
>       type T_index is range 0..5;
>       type T is array(T_index) of integer;
> 
Just nit-picking, the index type of T is not anonymous, it is 
Standard.Integer by default, therefore the aboved declaration is not 
equivalent.

Agreed, it is best to avoid hidden use of Standard.Integer. If you need 
Integer as the index type, better use:
type T is array (Integer range 0..5) of Integer;

Note that this remark is also applicable to loops. Rather than:
for I in 1..10 loop

write:
for I in Integer range 1..10 loop

(small plug: there is a rule in AdaControl to check the above)
-- 
---------------------------------------------------------
            J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr



  reply	other threads:[~2006-12-07 11:21 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-06  2:14 how to import a package markww
2006-12-06  3:06 ` Adam Beneschan
2006-12-06  3:34   ` markww
2006-12-06  9:18     ` Simon Wright
2006-12-06 19:47 ` Jeffrey R. Carter
2006-12-06 23:56   ` markww
2006-12-07  1:18     ` Björn Persson
2006-12-07  1:26     ` Brian May
2006-12-07  4:14       ` markww
2006-12-07  4:40         ` Brian May
2006-12-07  9:32           ` Stuart
2006-12-07 11:21             ` Jean-Pierre Rosen [this message]
2006-12-11  6:16               ` markww
2006-12-11  6:50                 ` markww
2006-12-11  9:40                   ` Georg Bauhaus
2006-12-11 14:19                     ` markww
2006-12-11 15:03                       ` Dmitry A. Kazakov
2006-12-11 16:22                       ` Adam Beneschan
2006-12-11 20:28                       ` Jeffrey R. Carter
2006-12-12  3:19                         ` markww
2006-12-12  3:31                           ` Jeffrey R. Carter
2006-12-12  9:03                           ` Stuart
2006-12-12 10:56                           ` Georg Bauhaus
2006-12-11  7:00                 ` Simon Wright
2006-12-07  4:06     ` Jeffrey R. Carter
replies disabled

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