From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.5 required=3.0 tests=BAYES_05 autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:a37:8546:: with SMTP id h67mr29531487qkd.474.1607898584157; Sun, 13 Dec 2020 14:29:44 -0800 (PST) X-Received: by 2002:a05:622a:14c:: with SMTP id v12mr27468080qtw.11.1607898583860; Sun, 13 Dec 2020 14:29:43 -0800 (PST) Path: eternal-september.org!reader02.eternal-september.org!news.uzoreto.com!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 13 Dec 2020 14:29:43 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=2601:3c3:401:f550:2b:f52e:d3e1:2e9c; posting-account=JSxOkAoAAADa00TJoz2WZ_46XrZCdXeS NNTP-Posting-Host: 2601:3c3:401:f550:2b:f52e:d3e1:2e9c References: <867dpmpy50.fsf@stephe-leake.org> <3739d281-8131-4096-b51d-11ac18647aecn@googlegroups.com> <957fd2ad-079d-40c3-8fbf-a7d009deb714n@googlegroups.com> <5dd52f99-49c3-4403-859b-58f8bfdabfb7n@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <251c9789-0928-439a-914a-b599d87b25acn@googlegroups.com> Subject: Re: Advent of code day 12 From: John Perry Injection-Date: Sun, 13 Dec 2020 22:29:44 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:60829 List-Id: On Sunday, December 13, 2020 at 12:36:00 PM UTC-6, Maxim Reznik wrote: > Take a look at Ada 2005 Rationale:=20 > https://www.adaic.org/resources/add_content/standards/05rat/html/Rat-2-7.= html=20 >=20 > The `overriding` specification is optional only to keep backward compatib= ility with Ada 83/95. Usage of this keyword prevents you from errors, when = you expect some function to override another from the parent type, but occa= sionally it doesn't. For instance, if one day you rename 'Turn' on interfac= e type to, say, `Rotate`, without `overriding` keyword the program still co= mpiles, but won't work as expected. So `overriding` must be :)=20 I think you misunderstood my question: you didn't use `overriding` on `Turn= `, only on `Move`. Why only on `Move`?