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 ( 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 ,
@@ -264,7 +263,7 @@ unsafe impl<A> RawDataClone for OwnedArcRepr<A> {
264263unsafe impl < A > RawData for OwnedRepr < A > {
265264 type Elem = A ;
266265 fn _data_slice ( & self ) -> Option < & [ A ] > {
267- Some ( & self . 0 )
266+ Some ( self . as_slice ( ) )
268267 }
269268 private_impl ! { }
270269}
@@ -303,10 +302,10 @@ where
303302{
304303 unsafe fn clone_with_ptr ( & self , ptr : NonNull < Self :: Elem > ) -> ( Self , NonNull < Self :: Elem > ) {
305304 let mut u = self . clone ( ) ;
306- let mut new_ptr = nonnull_from_vec_data ( & mut u . 0 ) ;
305+ let mut new_ptr = u . as_nonnull_mut ( ) ;
307306 if size_of :: < A > ( ) != 0 {
308307 let our_off =
309- ( ptr. as_ptr ( ) as isize - self . 0 . as_ptr ( ) as isize ) / mem:: size_of :: < A > ( ) as isize ;
308+ ( ptr. as_ptr ( ) as isize - self . as_ptr ( ) as isize ) / mem:: size_of :: < A > ( ) as isize ;
310309 new_ptr = new_ptr. offset ( our_off) ;
311310 }
312311 ( u, new_ptr)
@@ -318,12 +317,12 @@ where
318317 ptr : NonNull < Self :: Elem > ,
319318 ) -> NonNull < Self :: Elem > {
320319 let our_off = if size_of :: < A > ( ) != 0 {
321- ( ptr. as_ptr ( ) as isize - other. 0 . as_ptr ( ) as isize ) / mem:: size_of :: < A > ( ) as isize
320+ ( ptr. as_ptr ( ) as isize - other. as_ptr ( ) as isize ) / mem:: size_of :: < A > ( ) as isize
322321 } else {
323322 0
324323 } ;
325- self . 0 . clone_from ( & other. 0 ) ;
326- nonnull_from_vec_data ( & mut self . 0 ) . offset ( our_off)
324+ self . clone_from ( & other) ;
325+ self . as_nonnull_mut ( ) . offset ( our_off)
327326 }
328327}
329328
@@ -413,16 +412,16 @@ unsafe impl<'a, A> DataShared for ViewRepr<&'a A> {}
413412
414413unsafe impl < A > DataOwned for OwnedRepr < A > {
415414 fn new ( elements : Vec < A > ) -> Self {
416- OwnedRepr ( elements)
415+ OwnedRepr :: from ( elements)
417416 }
418417 fn into_shared ( self ) -> OwnedRcRepr < A > {
419- OwnedArcRepr ( Arc :: new ( self . 0 ) )
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