Lokathor / bytemuck

A crate for mucking around with piles of bytes
https://docs.rs/bytemuck
Apache License 2.0
697 stars 77 forks source link

Build error on nightly-2024-02-05 #224

Closed swfsql closed 7 months ago

swfsql commented 7 months ago

Hello, I'm having a compile error on latest nightly when using the nightly_stdsimd for bytemuck on rustc 1.78.0-nightly (f067fd608 2024-02-05).

To test, having a blank project with:

[dependencies]
bytemuck = { version = "=1.14.1", default-features = false, features = [
    "nightly_stdsimd",
] }

Results in a compilation error:

cargo check result

``` Checking bytemuck v1.14.1 error[E0658]: use of unstable library feature 'stdarch_x86_avx512' --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bytemuck-1.14.1/src/lib.rs:122:28 | 122 | unsafe impl $trait for $platform::$first_type {} | ^ | ::: /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bytemuck-1.14.1/src/zeroable.rs:239:1 | 239 | / impl_unsafe_marker_for_simd!( 240 | | #[cfg(all(target_arch = "x86_64", feature = "nightly_stdsimd"))] 241 | | unsafe impl Zeroable for x86_64::{ 242 | | __m128bh, __m256bh, __m512, 243 | | __m512bh, __m512d, __m512i, 244 | | } 245 | | ); | |_- in this macro invocation | = note: see issue #111137 for more information = help: add `#![feature(stdarch_x86_avx512)]` to the crate attributes to enable = note: this compiler was built on 2024-02-05; consider upgrading it if it is out of date = note: this error originates in the macro `impl_unsafe_marker_for_simd` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0658]: use of unstable library feature 'stdarch_x86_avx512' --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bytemuck-1.14.1/src/lib.rs:122:28 | 122 | unsafe impl $trait for $platform::$first_type {} | ^ | ::: /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bytemuck-1.14.1/src/pod.rs:159:1 | 159 | / impl_unsafe_marker_for_simd!( 160 | | #[cfg(all(target_arch = "x86_64", feature = "nightly_stdsimd"))] 161 | | unsafe impl Pod for x86_64::{ 162 | | __m128bh, __m256bh, __m512, 163 | | __m512bh, __m512d, __m512i, 164 | | } 165 | | ); | |_- in this macro invocation | = note: see issue #111137 for more information = help: add `#![feature(stdarch_x86_avx512)]` to the crate attributes to enable = note: this compiler was built on 2024-02-05; consider upgrading it if it is out of date = note: this error originates in the macro `impl_unsafe_marker_for_simd` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0635]: unknown feature `stdsimd` --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/bytemuck-1.14.1/src/lib.rs:7:50 | 7 | #![cfg_attr(feature = "nightly_stdsimd", feature(stdsimd))] | ^^^^^^^ Some errors have detailed explanations: E0635, E0658. For more information about an error, try `rustc --explain E0635`. error: could not compile `bytemuck` (lib) due to 7 previous errors ```

As the messages suggest, putting stdarch_x86_avx512 in place of stdsimd in: https://github.com/Lokathor/bytemuck/blob/5f9347741878dcab5df67459aa993e01b22f5bb5/src/lib.rs#L7 Seems to fix it.


Note:

Thanks!

Lokathor commented 7 months ago

Released bytemuck-1.14.2, which uses the new Nightly feature name.