From 095c561b60db21f62ad98976882a68fb1ebb0fa3 Mon Sep 17 00:00:00 2001 From: Yotam Ofek Date: Wed, 20 Mar 2024 19:55:03 +0200 Subject: [PATCH] Apply suggestions from code review Co-authored-by: tpdickso --- src/base/storage.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/base/storage.rs b/src/base/storage.rs index 60718765..b39d0f3d 100644 --- a/src/base/storage.rs +++ b/src/base/storage.rs @@ -213,14 +213,13 @@ pub unsafe trait RawStorageMut: RawStorage { /// result in stable references. If any of the data pointed to by these trait methods /// moves as a consequence of invoking either of these methods then this default /// trait implementation may be invalid or unsound and should be overridden. - #[inline] unsafe fn swap_unchecked_linear(&mut self, i1: usize, i2: usize) { // we can't just use the pointers returned from `get_address_unchecked_linear_mut` because calling a // method taking self mutably invalidates any existing (mutable) pointers. since `get_address_unchecked_linear_mut` can // also be overriden by a custom implementation, we can't just use `wrapping_add` assuming that's what the method does. // instead, we use `offset_from` to compute the re-calculate the pointers from the base pointer. - // this is safe as long as this trait is implemented safely + // this is sound as long as this trait matches the Validity preconditions // (and it's the caller's responsibility to ensure the indices are in-bounds). let base = self.ptr_mut(); let offset1 = self.get_address_unchecked_linear_mut(i1).offset_from(base);