Skip to content

Commit 3a01497

Browse files
authored
Merge pull request #1138 from jturner314/fix-map_axis-miri
Fix Miri failure with -Zmiri-tag-raw-pointers
2 parents 0598508 + a70bf19 commit 3a01497

File tree

1 file changed

+4
-20
lines changed

1 file changed

+4
-20
lines changed

src/impl_methods.rs

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2752,17 +2752,11 @@ where
27522752
A: 'a,
27532753
S: Data,
27542754
{
2755-
let view_len = self.len_of(axis);
2756-
let view_stride = self.strides.axis(axis);
2757-
if view_len == 0 {
2755+
if self.len_of(axis) == 0 {
27582756
let new_dim = self.dim.remove_axis(axis);
27592757
Array::from_shape_simple_fn(new_dim, move || mapping(ArrayView::from(&[])))
27602758
} else {
2761-
// use the 0th subview as a map to each 1d array view extended from
2762-
// the 0th element.
2763-
self.index_axis(axis, 0).map(|first_elt| unsafe {
2764-
mapping(ArrayView::new_(first_elt, Ix1(view_len), Ix1(view_stride)))
2765-
})
2759+
Zip::from(self.lanes(axis)).map_collect(mapping)
27662760
}
27672761
}
27682762

@@ -2783,21 +2777,11 @@ where
27832777
A: 'a,
27842778
S: DataMut,
27852779
{
2786-
let view_len = self.len_of(axis);
2787-
let view_stride = self.strides.axis(axis);
2788-
if view_len == 0 {
2780+
if self.len_of(axis) == 0 {
27892781
let new_dim = self.dim.remove_axis(axis);
27902782
Array::from_shape_simple_fn(new_dim, move || mapping(ArrayViewMut::from(&mut [])))
27912783
} else {
2792-
// use the 0th subview as a map to each 1d array view extended from
2793-
// the 0th element.
2794-
self.index_axis_mut(axis, 0).map_mut(|first_elt| unsafe {
2795-
mapping(ArrayViewMut::new_(
2796-
first_elt,
2797-
Ix1(view_len),
2798-
Ix1(view_stride),
2799-
))
2800-
})
2784+
Zip::from(self.lanes_mut(axis)).map_collect(mapping)
28012785
}
28022786
}
28032787

0 commit comments

Comments
 (0)