@@ -2226,17 +2226,14 @@ where
2226
2226
A : ' a ,
2227
2227
S : Data ,
2228
2228
{
2229
- if let Some ( slc) = self . as_slice_memory_order ( ) {
2230
- let v = crate :: iterators:: to_vec_mapped ( slc. iter ( ) , f) ;
2231
- unsafe {
2232
- ArrayBase :: from_shape_vec_unchecked (
2229
+ unsafe {
2230
+ if let Some ( slc) = self . as_slice_memory_order ( ) {
2231
+ ArrayBase :: from_shape_trusted_iter_unchecked (
2233
2232
self . dim . clone ( ) . strides ( self . strides . clone ( ) ) ,
2234
- v,
2235
- )
2233
+ slc. iter ( ) , f)
2234
+ } else {
2235
+ ArrayBase :: from_shape_trusted_iter_unchecked ( self . dim . clone ( ) , self . iter ( ) , f)
2236
2236
}
2237
- } else {
2238
- let v = crate :: iterators:: to_vec_mapped ( self . iter ( ) , f) ;
2239
- unsafe { ArrayBase :: from_shape_vec_unchecked ( self . dim . clone ( ) , v) }
2240
2237
}
2241
2238
}
2242
2239
@@ -2256,11 +2253,10 @@ where
2256
2253
if self . is_contiguous ( ) {
2257
2254
let strides = self . strides . clone ( ) ;
2258
2255
let slc = self . as_slice_memory_order_mut ( ) . unwrap ( ) ;
2259
- let v = crate :: iterators :: to_vec_mapped ( slc . iter_mut ( ) , f ) ;
2260
- unsafe { ArrayBase :: from_shape_vec_unchecked ( dim . strides ( strides ) , v ) }
2256
+ unsafe { ArrayBase :: from_shape_trusted_iter_unchecked ( dim . strides ( strides ) ,
2257
+ slc . iter_mut ( ) , f ) }
2261
2258
} else {
2262
- let v = crate :: iterators:: to_vec_mapped ( self . iter_mut ( ) , f) ;
2263
- unsafe { ArrayBase :: from_shape_vec_unchecked ( dim, v) }
2259
+ unsafe { ArrayBase :: from_shape_trusted_iter_unchecked ( dim, self . iter_mut ( ) , f) }
2264
2260
}
2265
2261
}
2266
2262
0 commit comments