From: Mehdi Saada <00120260a@gmail.com>
Subject: Re: Strings with discriminated records
Date: Tue, 29 May 2018 07:37:24 -0700 (PDT)
Date: 2018-05-29T07:37:24-07:00 [thread overview]
Message-ID: <b5d211dd-beea-4de3-a509-7a8cf5b3f5a0@googlegroups.com> (raw)
In-Reply-To: <55ce14eb-6b83-4ea0-a550-f9e1410d0b06@googlegroups.com>
Let's go half and half: how about making subtype indication in object renaming simply optional, and allow it for compatibility and in case of ambiguity ? A pragma would suffice if it doesn't exist yet (just wondering).
I can see myself how renaming is broken:
Some constraints in subprograms profile are taken in account, and some are not.
The compiler will enforce this constraint:
Function KI (JJ : in INTEGER := 5) return Integer is (JJ);
function KKI (JJ : in Positive) return Positive renames KI;
then put_line(KKi(-5)'img) will cause warnings.
But this is ignored:
procedure MMI (JJ : in Integer) renames MM;, the subtype in MM's declaration is used, and this is ignored too:
declare
procedure KI (JJ : out Integer) is
begin
JJ := -5;
end KI;
procedure KKI (JJ : out Positive) renames KI;
M : Positive;
begin
KKI (M);
end;
Then you really obtain a M with a value out of range. What the fuck ? This is the worst thing and type security breach I saw in Ada until now. Fixing this in the next version is more important that adding new features, and it's worth incompatibilities.
next prev parent reply other threads:[~2018-05-29 14:37 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-26 21:43 Strings with discriminated records NiGHTS
2018-05-26 23:42 ` Shark8
2018-05-27 1:42 ` NiGHTS
2018-05-27 8:39 ` Dmitry A. Kazakov
2018-05-27 12:22 ` Mehdi Saada
2018-05-27 12:40 ` Dmitry A. Kazakov
2018-05-27 14:34 ` NiGHTS
2018-05-27 14:50 ` Dmitry A. Kazakov
2018-05-27 15:19 ` NiGHTS
2018-05-27 15:32 ` AdaMagica
2018-05-27 16:22 ` NiGHTS
2018-05-29 22:31 ` Randy Brukardt
2018-05-30 7:29 ` Dmitry A. Kazakov
2018-05-30 20:11 ` Randy Brukardt
2018-05-27 12:48 ` Mehdi Saada
2018-05-27 13:03 ` Dmitry A. Kazakov
2018-05-27 17:11 ` NiGHTS
2018-05-27 18:07 ` Simon Wright
2018-05-27 23:08 ` NiGHTS
2018-05-28 1:44 ` Jere
2018-05-28 3:05 ` NiGHTS
2018-05-28 3:23 ` NiGHTS
2018-05-27 18:25 ` Dmitry A. Kazakov
2018-05-27 22:44 ` NiGHTS
2018-05-28 7:29 ` Dmitry A. Kazakov
2018-05-28 7:42 ` Simon Wright
2018-05-28 18:38 ` Shark8
2018-05-28 21:15 ` Mehdi Saada
2018-05-28 21:48 ` Shark8
2018-05-28 22:27 ` Mehdi Saada
2018-05-28 23:59 ` Shark8
2018-05-29 0:41 ` Dan'l Miller
2018-05-30 17:11 ` Shark8
2018-05-29 7:49 ` Dmitry A. Kazakov
2018-05-29 9:31 ` AdaMagica
2018-05-29 10:14 ` Dmitry A. Kazakov
2018-05-29 13:40 ` Dan'l Miller
2018-05-29 14:04 ` Dmitry A. Kazakov
2018-05-29 22:41 ` Randy Brukardt
2018-05-30 5:00 ` J-P. Rosen
2018-05-30 20:09 ` Randy Brukardt
2018-05-31 4:19 ` J-P. Rosen
2018-05-31 22:18 ` Randy Brukardt
2018-06-01 13:35 ` Dan'l Miller
2018-06-01 15:20 ` Dmitry A. Kazakov
2018-05-28 13:55 ` NiGHTS
2018-05-29 14:37 ` Mehdi Saada [this message]
2018-05-29 22:44 ` Randy Brukardt
2018-05-29 22:41 ` Mehdi Saada
2018-05-30 19:46 ` Randy Brukardt
2018-05-30 19:48 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox