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 ( 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 ,
@@ -264,7 +263,7 @@ unsafe impl<A> RawDataClone for OwnedArcRepr<A> {
264
263
unsafe impl < A > RawData for OwnedRepr < A > {
265
264
type Elem = A ;
266
265
fn _data_slice ( & self ) -> Option < & [ A ] > {
267
- Some ( & self . 0 )
266
+ Some ( self . as_slice ( ) )
268
267
}
269
268
private_impl ! { }
270
269
}
@@ -303,10 +302,10 @@ where
303
302
{
304
303
unsafe fn clone_with_ptr ( & self , ptr : NonNull < Self :: Elem > ) -> ( Self , NonNull < Self :: Elem > ) {
305
304
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 ( ) ;
307
306
if size_of :: < A > ( ) != 0 {
308
307
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 ;
310
309
new_ptr = new_ptr. offset ( our_off) ;
311
310
}
312
311
( u, new_ptr)
@@ -318,12 +317,12 @@ where
318
317
ptr : NonNull < Self :: Elem > ,
319
318
) -> NonNull < Self :: Elem > {
320
319
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
322
321
} else {
323
322
0
324
323
} ;
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)
327
326
}
328
327
}
329
328
@@ -413,16 +412,16 @@ unsafe impl<'a, A> DataShared for ViewRepr<&'a A> {}
413
412
414
413
unsafe impl < A > DataOwned for OwnedRepr < A > {
415
414
fn new ( elements : Vec < A > ) -> Self {
416
- OwnedRepr ( elements)
415
+ OwnedRepr :: from ( elements)
417
416
}
418
417
fn into_shared ( self ) -> OwnedRcRepr < A > {
419
- OwnedArcRepr ( Arc :: new ( self . 0 ) )
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