I would like to understand how Rust implements ownership and borrowing in its compiler. I would appreciate any reference to the relevant folders in the implementation and explanations/papers describing what these folders implement.
To clarify, I already read about the semantics of ownership and borrowing rules. However, I'm interested in the techniques used to implement the corresponding checks.
I see there is an RFC quoted at the implementation at BorrowCheck/mod.rs. A link to that RFC would also be helpful.