8
8
9
9
//! The data (inner representation) traits for ndarray
10
10
11
- use crate :: extension:: nonnull:: nonnull_from_vec_data;
12
11
use rawpointer:: PointerExt ;
13
12
use std:: mem:: { self , size_of} ;
14
13
use std:: ptr:: NonNull ;
@@ -188,7 +187,7 @@ unsafe impl<A> RawDataClone for RawViewRepr<*mut A> {
188
187
unsafe impl < A > RawData for OwnedArcRepr < A > {
189
188
type Elem = A ;
190
189
fn _data_slice ( & self ) -> Option < & [ A ] > {
191
- Some ( & self . 0 )
190
+ Some ( self . 0 . as_slice ( ) )
192
191
}
193
192
private_impl ! { }
194
193
}
@@ -226,7 +225,7 @@ where
226
225
} ;
227
226
let rvec = Arc :: make_mut ( rcvec) ;
228
227
unsafe {
229
- self_. ptr = nonnull_from_vec_data ( rvec) . offset ( our_off) ;
228
+ self_. ptr = rvec. as_nonnull_mut ( ) . offset ( our_off) ;
230
229
}
231
230
}
232
231
@@ -242,7 +241,7 @@ unsafe impl<A> Data for OwnedArcRepr<A> {
242
241
D : Dimension ,
243
242
{
244
243
Self :: ensure_unique ( & mut self_) ;
245
- let data = OwnedRepr :: from ( Arc :: try_unwrap ( self_. data . 0 ) . ok ( ) . unwrap ( ) ) ;
244
+ let data = Arc :: try_unwrap ( self_. data . 0 ) . ok ( ) . unwrap ( ) ;
246
245
ArrayBase {
247
246
data,
248
247
ptr : self_. ptr ,
@@ -416,13 +415,13 @@ unsafe impl<A> DataOwned for OwnedRepr<A> {
416
415
OwnedRepr :: from ( elements)
417
416
}
418
417
fn into_shared ( self ) -> OwnedRcRepr < A > {
419
- OwnedArcRepr ( Arc :: new ( self . into_vec ( ) ) )
418
+ OwnedArcRepr ( Arc :: new ( self ) )
420
419
}
421
420
}
422
421
423
422
unsafe impl < A > DataOwned for OwnedArcRepr < A > {
424
423
fn new ( elements : Vec < A > ) -> Self {
425
- OwnedArcRepr ( Arc :: new ( elements) )
424
+ OwnedArcRepr ( Arc :: new ( OwnedRepr :: from ( elements) ) )
426
425
}
427
426
428
427
fn into_shared ( self ) -> OwnedRcRepr < A > {
0 commit comments