]> git.lizzy.rs Git - rust.git/commit - src/tools/rust-analyzer
Auto merge of #90281 - xldenis:public-borrow-set, r=nikomatsakis
authorbors <bors@rust-lang.org>
Thu, 28 Oct 2021 19:34:01 +0000 (19:34 +0000)
committerbors <bors@rust-lang.org>
Thu, 28 Oct 2021 19:34:01 +0000 (19:34 +0000)
commitc390d69a615f095208ac94841f3310268521b2ee
treeac6bd41fc4574b8a8940c02962b7ae39bfff47ec
parent85c0558d032e204f4f4ed6137f3119cb92dbc684
parent9894a9a71674e72d4b5428bb03ce6b222bb89f09
Auto merge of #90281 - xldenis:public-borrow-set, r=nikomatsakis

Add BorrowSet to public api

This PR adds `BorrowSet` to the public api so that verification tools can obtain the activation and reservation points of two phase borrows without having to redo calculations themselves (and thus potentially differently from rustc).

Turns out we already can obtain `MoveData` thanks to the public `HasMoveData` trait, so constructing a `BorrowSet` should not provide much of an issue. However, I can't speak to the soundness of this approach, is it safe to take an under-approximation of `MoveData`?

r? `@nikomatsakis`
compiler/rustc_borrowck/src/lib.rs