Benno's Blog #rust/field-projections


# field projections: basic borrow checking

the borrow checker is one of the most important features of Rust. as part of my work on field projections, we need to come up with a way to generalize it and expose its inner workings via traits. in this post, I’m presenting my model of the borrow checker in the current design for field projections (which has moved to https://github.com/rust-lang/beyond-refs now). in this post, I’m focusing on the more basic pointers that we’ll support; mainly custom &T, &mut T and Box<T>. more advanced pointers will come later in another post.

# field projections

the field projection project goal is about designing a language feature to make custom pointer types as ergonomic as the builtin reference types &T and &mut T. I’m working on this goal together with Tyler Mandry, Nadrieril, and Xiangfei Ding as well as many others on the Rust Zulip. this blog post gives a short introduction of the idea, shows what we’re currently working on, and offers links to more resources.

note: I wrote this post back in august and did not upload it until now. most of the information is still up to date, but you might find some minute differences to my current work.

# Virtual Places and Borrow Checker Integration

In this blog post, I present an idea on how we can specify the borrow checker behavior in the context of the field projection design effort. This work builds upon the blog post The Algebra of Loans in Rust by Nadrieril. I will give a more field projection focused proposal, whereas that blog post looked at the general way the borrow checker works.