+4
−1
Loading
A core property of pinned types is not handing a mutable reference to the inner data in safe code, as this trivially allows that data to be moved. Enforce this condition by adding a bound on lock::Guard's DerefMut implementation, so that it's only implemented for pinning-agnostic types. Suggested-by:Benno Lossin <lossin@kernel.org> Suggested-by:
Boqun Feng <boqun.feng@gmail.com> Signed-off-by:
Daniel Almeida <daniel.almeida@collabora.com> Signed-off-by:
Boqun Feng <boqun.feng@gmail.com> Signed-off-by:
Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by:
Benno Lossin <lossin@kernel.org> Reviewed-by:
Alice Ryhl <aliceryhl@google.com> Link: https://github.com/Rust-for-Linux/linux/issues/1181