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!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada Annoyances Date: Thu, 29 Jun 2017 19:47:20 -0500 Organization: JSA Research & Innovation Message-ID: References: <1ac5a44b-4423-443a-a7bb-2864d9abe78f@googlegroups.com> <4921bd4e-3827-a7ac-7f2d-d60edbc514a3@tidorum.invalid> NNTP-Posting-Host: rrsoftware.com X-Trace: franka.jacob-sparre.dk 1498783640 21307 24.196.82.226 (30 Jun 2017 00:47:20 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 30 Jun 2017 00:47:20 +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:47199 Date: 2017-06-29T19:47:20-05:00 List-Id: "Niklas Holsti" wrote in message news:erl137Fp39dU1@mid.individual.net... > On 17-06-27 00:47 , Randy Brukardt wrote: ... >> And changing the tag via assignment means having to be prepared to >> change finalization of objects after the fact as well. Ugh. > > Isn't finalization of local objects usually implemented by creating a list > of these objects, and then traversing that list on scope exit? It seems to > me that changing the tag of an object on the list should not be a problem; > the new tag would just lead to a different Finalize, through normal > dispatching. That's not a problem. The case I was thinking about was one where the change in tag caused an object which was not previously controlled to become controlled. Then the object would have to be added to the finalization list, but not to the head, but rather to the exact point where the original object was declared. That would be very difficult. I just spent most of the winter fixing a bug related to that for variant records in Janus/Ada, and this case would be worse (because there's no enclosing object in which to put helper components). Randy. .