diff --git a/sbp/src/operators/algos/constmatrix.rs b/sbp/src/operators/algos/constmatrix.rs index 7203d64..b9645a5 100644 --- a/sbp/src/operators/algos/constmatrix.rs +++ b/sbp/src/operators/algos/constmatrix.rs @@ -95,20 +95,20 @@ impl Matrix { impl ColVector { #[inline(always)] pub fn map_to_col(slice: &[T; N]) -> &ColVector { - unsafe { std::mem::transmute::<&[T; N], &Self>(slice) } + unsafe { &*(slice.as_ptr().cast()) } } #[inline(always)] pub fn map_to_col_mut(slice: &mut [T; N]) -> &mut ColVector { - unsafe { std::mem::transmute::<&mut [T; N], &mut Self>(slice) } + unsafe { &mut *(slice.as_mut_ptr().cast()) } } } impl RowVector { pub fn map_to_row(slice: &[T; N]) -> &Self { - unsafe { std::mem::transmute::<&[T; N], &Self>(slice) } + unsafe { &*(slice.as_ptr().cast()) } } pub fn map_to_row_mut(slice: &mut [T; N]) -> &mut Self { - unsafe { std::mem::transmute::<&mut [T; N], &mut Self>(slice) } + unsafe { &mut *(slice.as_mut_ptr().cast()) } } }