diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs index e7896b2cb66ed..45fbcf44b350c 100644 --- a/library/core/src/lib.rs +++ b/library/core/src/lib.rs @@ -408,12 +408,12 @@ pub mod arch { #[allow(missing_debug_implementations, dead_code, unsafe_op_in_unsafe_fn, unused_unsafe)] #[allow(rustdoc::bare_urls)] #[unstable(feature = "portable_simd", issue = "86656")] -#[cfg(not(all(miri, doctest)))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Skip SIMD doctests in Miri mod core_simd; #[doc = include_str!("../../portable-simd/crates/core_simd/src/core_simd_docs.md")] #[unstable(feature = "portable_simd", issue = "86656")] -#[cfg(not(all(miri, doctest)))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Skip SIMD doctests in Miri pub mod simd { #[unstable(feature = "portable_simd", issue = "86656")] pub use crate::core_simd::simd::*; diff --git a/library/core/src/slice/mod.rs b/library/core/src/slice/mod.rs index 08b95d791a38c..9467c7f54bac7 100644 --- a/library/core/src/slice/mod.rs +++ b/library/core/src/slice/mod.rs @@ -16,7 +16,7 @@ use crate::option::Option::{None, Some}; use crate::ptr; use crate::result::Result; use crate::result::Result::{Err, Ok}; -#[cfg(not(miri))] // Miri does not support all SIMD intrinsics +#[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests use crate::simd::{self, Simd}; use crate::slice; @@ -3540,7 +3540,7 @@ impl [T] { /// assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0); /// ``` #[unstable(feature = "portable_simd", issue = "86656")] - #[cfg(not(miri))] // Miri does not support all SIMD intrinsics + #[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests pub fn as_simd(&self) -> (&[T], &[Simd], &[T]) where Simd: AsRef<[T; LANES]>, @@ -3584,7 +3584,7 @@ impl [T] { /// be lifted in a way that would make it possible to see panics from this /// method for something like `LANES == 3`. #[unstable(feature = "portable_simd", issue = "86656")] - #[cfg(not(miri))] // Miri does not support all SIMD intrinsics + #[cfg(not(all(miri, doctest)))] // Miri skips SIMD doctests pub fn as_simd_mut(&mut self) -> (&mut [T], &mut [Simd], &mut [T]) where Simd: AsMut<[T; LANES]>, diff --git a/library/core/tests/simd.rs b/library/core/tests/simd.rs index b84f3228e7800..5b516a72360aa 100644 --- a/library/core/tests/simd.rs +++ b/library/core/tests/simd.rs @@ -1,5 +1,3 @@ -#![cfg(not(miri))] // Miri does not support all SIMD intrinsics - use core::simd::f32x4; #[test] diff --git a/library/core/tests/slice.rs b/library/core/tests/slice.rs index 06a30d7096c77..7c4d2f266f958 100644 --- a/library/core/tests/slice.rs +++ b/library/core/tests/slice.rs @@ -2457,9 +2457,11 @@ take_tests! { (take_last_mut_empty, (), None, &mut []), } +#[cfg(not(miri))] // unused in Miri const EMPTY_MAX: &'static [()] = &[(); usize::MAX]; // can't be a constant due to const mutability rules +#[cfg(not(miri))] // unused in Miri macro_rules! empty_max_mut { () => { &mut [(); usize::MAX] as _