Update src/base/storage.rs

Co-authored-by: tpdickso <terence.dickson.prf@gmail.com>
This commit is contained in:
Yotam Ofek 2024-03-19 18:26:36 +02:00
parent adc3a8103b
commit 546d06b541
1 changed files with 8 additions and 0 deletions

View File

@ -206,6 +206,14 @@ pub unsafe trait RawStorageMut<T, R: Dim, C: Dim = U1>: RawStorage<T, R, C> {
/// ///
/// # Safety /// # Safety
/// If the indices are out of bounds, the method will cause undefined behavior. /// If the indices are out of bounds, the method will cause undefined behavior.
///
/// # Validity
/// The default implementation of this trait function is only guaranteed to be
/// sound if invocations of `self.ptr_mut()` and `self.get_address_unchecked_linear_mut()`
/// 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] #[inline]
unsafe fn swap_unchecked_linear(&mut self, i1: usize, i2: usize) { 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 // we can't just use the pointers returned from `get_address_unchecked_linear_mut` because calling a