Deutsch   English   Français   Italiano  
<ss8bkv$hsu$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: "J-P. Rosen" <rosen@adalog.fr>
Newsgroups: fr.comp.lang.ada
Subject: Re: Utiliser un access ou pas ?
Date: Wed, 19 Jan 2022 07:38:24 +0100
Organization: Adalog
Lines: 41
Message-ID: <ss8bkv$hsu$1@dont-email.me>
References: <602be3f8$0$3273$426a74cc@news.free.fr>
 <s0lbg8$1f1p$1@gioia.aioe.org> <603a3027$0$27427$426a74cc@news.free.fr>
 <s1fruf$6ev$1@gioia.aioe.org> <6041f98b$0$6480$426a74cc@news.free.fr>
 <s1t0j0$8ri$1@dont-email.me> <604209cf$0$21604$426a34cc@news.free.fr>
 <s1td2r$v0p$1@dont-email.me> <60425637$0$21598$426a34cc@news.free.fr>
 <s1tqu2$66q$1@dont-email.me> <60427563$0$12713$426a34cc@news.free.fr>
 <s1v4t6$job$1@dont-email.me> <6043a011$0$19484$426a74cc@news.free.fr>
 <s20cs5$89b$1@dont-email.me>
 <fantome.forums.tDeContes-3A6738.04231419012022@news.free.fr>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 19 Jan 2022 06:38:24 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="dbb3f0be12b438a6fa119f21227f8b89";
	logging-data="18334"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19RVWFNRWu50v6iGZ9V50Ci"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.5.0
Cancel-Lock: sha1:Rncs9AwD1f/rSlBZxRqHeJd9otg=
In-Reply-To: <fantome.forums.tDeContes-3A6738.04231419012022@news.free.fr>
Content-Language: fr
Bytes: 3257

Le 19/01/2022 à 04:23, Thomas a écrit :
>> 2) Le /type/ donné dans un rename doit correspondre au /type/ de ce qui
>> est renommé (on devrait dire surnommé en bon français). En revanche, il
>> n'y a pas de vérification que les /sous-types/ correspondent, donc pas
>> de Constraint_Error si la valeur surnommée n'est pas dans l'intervalle
>> du sous-type annoncé dans le rename.
> 
> si je te comprend bien,
> - il n'y a pas d'outre-passement de (donc il y a) vérification du
> sous-type du résultat de la fonction,
> - mais il n'y a pas de vérification du sous-type annoncé dans le rename ?
> 
> c'est dommage,
Le problème (surtout en Ada 83 d'où provient la règle), c'est qu'un 
sous-type peut être dynamique, et une règle de compilation ne peut pas 
dépendre de quelque chose qui n'est connu qu'à l'exécution.

A partir d'Ada 95, on a introduit la notion de "statically matching 
subtypes", mais il a été estimé que cela compliquerait trop les choses 
de l'appliquer aux rename, et de toute façon ça ne pouvait pas marcher 
dans tous les cas sans casser la compatibilité.

> de même que l'interdiction du mot "constant", qui ne devrait pas
> forcément vérifier si l'objet pointé en est une, mais au moins que toute
> utilisation du surnom respecte ça.
> 
Ca c'est fait:

procedure Essai is
    V : constant Integer := 0;
    C : Integer renames V;
begin
    C:= 3; -- left hand side of assignment must be a variable
end Essai;

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52
https://www.adalog.fr