From: Optikos <optikos@verizon.net>
Subject: Re: Implementing Rust's borrow checked pointers
Date: Tue, 24 Sep 2019 13:15:23 -0700 (PDT)
Date: 2019-09-24T13:15:23-07:00 [thread overview]
Message-ID: <c41a9e58-0d1a-44f7-96ad-0e5e1b7d3954@googlegroups.com> (raw)
In-Reply-To: <lnpnjp5wyt.fsf@kst-u.example.com>
On Tuesday, September 24, 2019 at 2:13:33 PM UTC-5, Keith Thompson wrote:
> Lucretia <laguest9000@googlemail.com> writes:
> > On Tuesday, 24 September 2019 12:23:30 UTC+1, Optikos wrote:
> >
> >> > begin
> >> > A.all ... ; -- raises exception.
> >>
> >> No, to be as useful as Rust's borrow checker, instead of raising
> >> exception, it needs to be a compile-time error. The compiler needs
> >> to maintain a whole-program directed graph at compile-time, not defer
> >> a detection-based localized analysis to run-time.
> >
> > Yes, the compiler would raise that exception at compile time. This
> > idea that all exceptions are raised at runtime is false and you should
> > check the AARM.
>
> Can you provide a specific citation?
>
> Certainly a compiler can diagnose an error at compile time, but I've
> never heard that referred to as an "exception". And a compiler can
> generate code that unconditionally raises an exception, but that code is
> executed at run time.
>
> (I've seen compile-time exceptions, but they were compiler bugs, not
> diagnostics for the program being compiled.)
>
> --
> Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
> Will write code for food.
> void Void(void) { Void(); } /* The recursive call of the void */
Keith, I already did in a prior posting above, but you apparently blocked me, so your loss. Here is the answer to your question again for all other readers: §1.1.5 Classification of •Errors “If such an •error• situation is certain to arise in every execution of a construct, then an implementation is •••allowed (although not required)••• to report this fact at •compilation• time.”
next prev parent reply other threads:[~2019-09-24 20:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-24 9:05 Implementing Rust's borrow checked pointers Lucretia
2019-09-24 9:57 ` Dmitry A. Kazakov
2019-09-24 11:23 ` Optikos
2019-09-24 12:02 ` Lucretia
2019-09-24 14:08 ` Optikos
2019-09-24 18:56 ` Simon Wright
2019-09-24 19:13 ` Keith Thompson
2019-09-24 20:15 ` Optikos [this message]
2019-09-24 20:31 ` Keith Thompson
2019-09-24 20:40 ` Optikos
2019-09-24 20:53 ` Keith Thompson
2019-09-24 22:09 ` Lucretia
2019-09-24 22:24 ` Keith Thompson
2019-09-25 4:36 ` J-P. Rosen
2019-09-25 15:04 ` Simon Wright
2019-09-24 12:23 ` Lucretia
2019-09-25 17:21 ` Stephen Leake
2019-09-24 16:24 ` Jeffrey R. Carter
2019-09-25 16:26 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox