forked from M-Labs/nalgebra
Fixed potential UB
This commit is contained in:
parent
38add0b00d
commit
c5f240cc28
@ -1,7 +1,7 @@
|
|||||||
//! Abstract definition of a matrix data storage.
|
//! Abstract definition of a matrix data storage.
|
||||||
|
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use std::mem;
|
use std::ptr;
|
||||||
|
|
||||||
use crate::base::allocator::{Allocator, SameShapeC, SameShapeR};
|
use crate::base::allocator::{Allocator, SameShapeC, SameShapeR};
|
||||||
use crate::base::default_allocator::DefaultAllocator;
|
use crate::base::default_allocator::DefaultAllocator;
|
||||||
@ -158,7 +158,7 @@ pub unsafe trait StorageMut<T: Scalar, R: Dim, C: Dim = U1>: Storage<T, R, C> {
|
|||||||
let a = self.get_address_unchecked_linear_mut(i1);
|
let a = self.get_address_unchecked_linear_mut(i1);
|
||||||
let b = self.get_address_unchecked_linear_mut(i2);
|
let b = self.get_address_unchecked_linear_mut(i2);
|
||||||
|
|
||||||
mem::swap(&mut *a, &mut *b);
|
ptr::swap(a, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Swaps two elements without bound-checking.
|
/// Swaps two elements without bound-checking.
|
||||||
|
Loading…
Reference in New Issue
Block a user