Path: ...!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" 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: References: <602be3f8$0$3273$426a74cc@news.free.fr> <603a3027$0$27427$426a74cc@news.free.fr> <6041f98b$0$6480$426a74cc@news.free.fr> <604209cf$0$21604$426a34cc@news.free.fr> <60425637$0$21598$426a34cc@news.free.fr> <60427563$0$12713$426a34cc@news.free.fr> <6043a011$0$19484$426a74cc@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: 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