From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!hzzNxxMX5IPvnEV4b74Cww.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Unchecked_Deallocation with tagged types Date: Sat, 16 Apr 2022 10:09:11 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <607b56f8$0$3721$426a34cc@news.free.fr> <07863309-4541-4497-8cec-d88179e634bdn@googlegroups.com> <625a3bb4$0$22256$426a34cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="934"; posting-host="hzzNxxMX5IPvnEV4b74Cww.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:63746 List-Id: On 2022-04-16 05:44, Thomas wrote: > In article , > "Dmitry A. Kazakov" wrote: > >> On 2021-04-18 11:09, Jeffrey R. Carter wrote: >>> On 4/18/21 10:46 AM, Gautier write-only address wrote: >>>> Side note: did anyone already suggest a new keyword: unchecked_free >>>> and a special statement: >>>> >>>>    unchecked_free Some_Pointer; >>> >>> For every access variable P, there could exist the attribute procedure >>> >>>   P'Free; >> >> I like the idea of attaching it to a variable rather than to type. > > why? Because operations apply to objects not to the types of. > if it had to be made, i would say it could not be less than sth like: > T'Unchecked_Free (P) This does as little sense as T'Image did. >> I remember the claim that originally making it a generic procedure with >> an indigestible name was meant as barrier for lazy programmers. > > not only that: > i agree J-P. Rosen (he didn't said exactly that), > it's fine to be able to search for the "Unchecked" keyword, to look at > parts of code with some known risk (afaik): > Ada.Unchecked_Deallocation, Ada.Unchecked_Conversion, Unchecked_Access. You can search for "Free" as easily. Furthermore, the way unchecked stuff breaks the program is such that the actual problem is almost never located at the place where you call something unchecked. The error is usually triggered in a different place. >> Plus >> some considerations regarding garbage collection lurked in the subconscious. > > could you explain, please ? :-) You allocate objects at will and the language per magic wand frees them for you someway someday. This anything that works in a non-magical way (read: deterministic, predictable, explicit) is so outrageous that must be highlighted as "unchecked." (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de