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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Tagged type abuse Date: Fri, 19 Dec 2014 18:07:30 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1419034050 24307 24.196.82.226 (20 Dec 2014 00:07:30 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sat, 20 Dec 2014 00:07:30 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:24168 Date: 2014-12-19T18:07:30-06:00 List-Id: "Michael B." wrote in message news:m716fq$91n$1@speranza.aioe.org... > Am 19.12.2014 um 00:10 schrieb Randy Brukardt: >> Note that in pre-2012 Ada, you needed to use tagged types get "=" to work >> right vis-a-vis composition. (Ada 2012 extended that to all record types, >> which of course means that some programs that expect the wrong answer >> will >> break. But in most cases, the change will fix bugs rather than create >> them.) > > Could you be more specific on that? The case in question is the operator used in a composed "=". That is, what operator is used to compare components of a type in some non-limited composite type. In Ada 83-2005, untagged record types compose using a reimergence of predefined "=" (the user-defined "=" is ignored in that case). That was not changed in Ada 95 because of compatibility concerns. But the problem wasn't going away, and having an aspect to do the right thing made no sense and having an aspect to do the wrong thing helps no-one (the code would have to be modified, but if you can do that, you might as well fix it). So we just changed it. We think that 99% of the time, people would rather have the user-defined "=" used (why else would you have defined it?) Randy.