From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.64.202 with SMTP id f10mr137515qai.2.1376328006806; Mon, 12 Aug 2013 10:20:06 -0700 (PDT) X-Received: by 10.50.28.78 with SMTP id z14mr1859igg.5.1376328005640; Mon, 12 Aug 2013 10:20:05 -0700 (PDT) Path: border1.nntp.dca3.giganews.com!border2.nntp.dca3.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!fx3no2145234qab.0!news-out.google.com!he10ni1415qab.0!nntp.google.com!fx3no2145232qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 12 Aug 2013 10:20:05 -0700 (PDT) In-Reply-To: <1evw1coxfrfu5$.1atfpln47qs0j.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=66.126.103.122; posting-account=RxNzCgoAAACA5KmgtFQuaU-WaH7rjnAO NNTP-Posting-Host: 66.126.103.122 References: <19fr4wmxmen$.gjbias2fj461$.dlg@40tude.net> <1pe6z4dg2xk9j$.1wdn31ijaldz3.dlg@40tude.net> <4589f4c3-a1c7-4fa7-9b79-89a9917502bf@googlegroups.com> <1evw1coxfrfu5$.1atfpln47qs0j.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: GNAT GPL 2013 bug? From: Adam Beneschan Injection-Date: Mon, 12 Aug 2013 17:20:06 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Original-Bytes: 2599 Xref: number.nntp.dca.giganews.com comp.lang.ada:182984 Date: 2013-08-12T10:20:05-07:00 List-Id: On Monday, August 12, 2013 10:03:14 AM UTC-7, Dmitry A. Kazakov wrote: > That implied null-exclusion for controlling parameters does not change/sa= ve > anything. Just added language weirdness that >=20 > "access T" is subtype conformant to "not null access T" depending on T >=20 > !, for apparently no gain. Well, from the point of view of dynamic semantics, a call to a dispatching = subprogram *has* to fail if given a null parameter. There's no way around = this. So, dynamically, it's going to behave like a null-excluding access t= ype no matter what. From a static-semantics point of view, the language de= signers could have decreed that the parameter is *not* implicitly a null-ex= cluding parameter even though it behaves like one at run-time. That's a ch= oice they could have made, although then someone else probably would have c= onsidered this to be "language weirdness". They just can't win. -- Adam