88
99//! The data (inner representation) traits for ndarray
1010
11- use crate :: extension:: nonnull:: nonnull_from_vec_data;
1211use rawpointer:: PointerExt ;
1312use std:: mem:: { self , size_of} ;
1413use std:: ptr:: NonNull ;
@@ -188,7 +187,7 @@ unsafe impl<A> RawDataClone for RawViewRepr<*mut A> {
188187unsafe impl < A > RawData for OwnedArcRepr < A > {
189188 type Elem = A ;
190189 fn _data_slice ( & self ) -> Option < & [ A ] > {
191- Some ( & self . 0 )
190+ Some ( self . 0 . as_slice ( ) )
192191 }
193192 private_impl ! { }
194193}
@@ -226,7 +225,7 @@ where
226225 } ;
227226 let rvec = Arc :: make_mut ( rcvec) ;
228227 unsafe {
229- self_. ptr = nonnull_from_vec_data ( rvec) . offset ( our_off) ;
228+ self_. ptr = rvec. as_nonnull_mut ( ) . offset ( our_off) ;
230229 }
231230 }
232231
@@ -242,7 +241,7 @@ unsafe impl<A> Data for OwnedArcRepr<A> {
242241 D : Dimension ,
243242 {
244243 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 ( ) ;
246245 ArrayBase {
247246 data,
248247 ptr : self_. ptr ,
@@ -416,13 +415,13 @@ unsafe impl<A> DataOwned for OwnedRepr<A> {
416415 OwnedRepr :: from ( elements)
417416 }
418417 fn into_shared ( self ) -> OwnedRcRepr < A > {
419- OwnedArcRepr ( Arc :: new ( self . into_vec ( ) ) )
418+ OwnedArcRepr ( Arc :: new ( self ) )
420419 }
421420}
422421
423422unsafe impl < A > DataOwned for OwnedArcRepr < A > {
424423 fn new ( elements : Vec < A > ) -> Self {
425- OwnedArcRepr ( Arc :: new ( elements) )
424+ OwnedArcRepr ( Arc :: new ( OwnedRepr :: from ( elements) ) )
426425 }
427426
428427 fn into_shared ( self ) -> OwnedRcRepr < A > {
0 commit comments