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!feeder.eternal-september.org!aioe.org!.POSTED.fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Implementing Rust's borrow checked pointers Date: Tue, 24 Sep 2019 11:57:04 +0200 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: fn3LatRFkm9/xzEj7F2/NQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:57178 Date: 2019-09-24T11:57:04+02:00 List-Id: On 2019-09-24 11:05, Lucretia wrote: > Been talking to someone on Telegraph and he was saying Ada should implement this, just wondering whether Ada could? I posed a slight change to access type specification to do this, what do people think? > > type P is restricted access X; > > Restricted in this case would mean that once assigned it cannot be re-assigned into or out of with out some sort of move operation, which could be implemented as an attribute on the access type. > > A : P := L'Access; > B : P := A'Move; -- A cannot no longer be used. > > begin > A.all ... ; -- raises exception. > > > I don't know enough about all this to put a complete proposal together, but I think I've got the basics understood. Since run-time checks are involved the whole idea does not make sense to me. Semantically it makes no sense either. Why copying should have this effect on pointer when, as in your example, unrelated to scopes (or unchecked deallocation)? A more realistic example might help. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de