git: 9cffc4aeae6a - main - devel/electron39: Fix build with rust 1.95
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 23 Apr 2026 11:43:37 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9cffc4aeae6a2c4cf804e7cebbe572f00916f79e
commit 9cffc4aeae6a2c4cf804e7cebbe572f00916f79e
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-04-23 11:37:57 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-04-23 11:43:26 +0000
devel/electron39: Fix build with rust 1.95
PR: 294615
Reported by: mikael
---
devel/electron39/files/patch-rust-1.95 | 478 +++++++++++++++++++++++++++++++++
1 file changed, 478 insertions(+)
diff --git a/devel/electron39/files/patch-rust-1.95 b/devel/electron39/files/patch-rust-1.95
new file mode 100644
index 000000000000..fb3d479d767a
--- /dev/null
+++ b/devel/electron39/files/patch-rust-1.95
@@ -0,0 +1,478 @@
+diff -audpNr third_party/rust/bytemuck.orig/v1/BUILD.gn third_party/rust/bytemuck/v1/BUILD.gn
+--- third_party/rust/bytemuck.orig/v1/BUILD.gn 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/bytemuck/v1/BUILD.gn 2026-04-23 04:38:43.760520000 +0900
+@@ -39,16 +39,21 @@ cargo_crate("lib") {
+ cargo_pkg_name = "bytemuck"
+ cargo_pkg_description = "A crate for mucking around with piles of bytes."
+ cargo_pkg_repository = "https://github.com/Lokathor/bytemuck"
+- cargo_pkg_version = "1.23.2"
++ cargo_pkg_version = "1.25.0"
+
+ allow_unsafe = true
+
+- deps = [ "//third_party/rust/bytemuck_derive/v1:lib" ]
++ deps = [
++ "//third_party/rust/bytemuck_derive/v1:lib",
++ "//third_party/rust/rustversion/v1:lib",
++ ]
+ features = [
+ "bytemuck_derive",
+ "derive",
++ "extern_crate_alloc",
+ "min_const_generics",
+ "nightly_portable_simd",
++ "rustversion",
+ ]
+
+ # `gnrt_config.toml` for this crate specifies `allow_unstable_features`.
+diff -audpNr third_party/rust/bytemuck.orig/v1/README.chromium third_party/rust/bytemuck/v1/README.chromium
+--- third_party/rust/bytemuck.orig/v1/README.chromium 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/bytemuck/v1/README.chromium 2026-04-23 04:38:43.760590000 +0900
+@@ -1,8 +1,8 @@ URL: https://crates.io/crates/bytemuck
+ Name: bytemuck
+ URL: https://crates.io/crates/bytemuck
+-Version: 1.23.2
+-Revision: c069a2f6a4c7f3416257d0378c799085aa5626bb
+-Update Mechanism: Manual
++Version: 1.25.0
++Revision: 164cedda0eae131bc6cb67902599f4ec253642ca
++Update Mechanism: Manual (https://crbug.com/449898466)
+ License: Apache-2.0
+ License File: //third_party/rust/chromium_crates_io/vendor/bytemuck-v1/LICENSE-APACHE
+ Shipped: yes
+diff -audpNr third_party/rust/rustversion.orig/v1/BUILD.gn third_party/rust/rustversion/v1/BUILD.gn
+--- third_party/rust/rustversion.orig/v1/BUILD.gn 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/rustversion/v1/BUILD.gn 2026-04-23 04:38:50.349498000 +0900
+@@ -44,7 +44,7 @@ cargo_crate("lib") {
+
+ build_root = "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/build/build.rs"
+ build_sources = [ "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/build/build.rs" ]
+- build_script_inputs = [ "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/../build/rustc.rs" ]
++ build_script_inputs = [ "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/../../rustversion-v1/build/rustc.rs" ]
+ build_script_outputs = [ "version.expr" ]
+
+ # Only for usage from third-party crates. Add the crate to
+diff -audpNr third_party/rust/rustversion.orig/v1/README.chromium third_party/rust/rustversion/v1/README.chromium
+--- third_party/rust/rustversion.orig/v1/README.chromium 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/rustversion/v1/README.chromium 2026-04-23 04:38:50.349566000 +0900
+@@ -2,7 +2,7 @@ Revision: 9e86f839b6a34a7d9398f243d88bf400b7fa1f7c
+ URL: https://crates.io/crates/rustversion
+ Version: 1.0.22
+ Revision: 9e86f839b6a34a7d9398f243d88bf400b7fa1f7c
+-Update Mechanism: Manual
++Update Mechanism: Manual (https://crbug.com/449898466)
+ License: Apache-2.0
+ License File: //third_party/rust/chromium_crates_io/vendor/rustversion-v1/LICENSE-APACHE
+ Shipped: yes
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.cargo_vcs_info.json third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.cargo_vcs_info.json
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.cargo_vcs_info.json 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.cargo_vcs_info.json 2026-04-23 04:39:29.861464000 +0900
+@@ -1,6 +1,6 @@
+ {
+ "git": {
+- "sha1": "c069a2f6a4c7f3416257d0378c799085aa5626bb"
++ "sha1": "164cedda0eae131bc6cb67902599f4ec253642ca"
+ },
+ "path_in_vcs": ""
+ }
+\ No newline at end of file
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.github/workflows/rust.yml third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.github/workflows/rust.yml
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.github/workflows/rust.yml 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.github/workflows/rust.yml 2026-04-23 04:39:29.861650000 +0900
+@@ -19,7 +19,7 @@ jobs:
+ include:
+ # versions (all on linux-x86_64)
+ - { rust: 1.34.0, os: ubuntu-latest }
+- - { rust: 1.61.0, os: ubuntu-latest }
++ - { rust: 1.68.0, os: ubuntu-latest }
+ - { rust: stable, os: ubuntu-latest }
+ - { rust: beta, os: ubuntu-latest }
+ - { rust: nightly, os: ubuntu-latest }
+@@ -38,19 +38,20 @@ jobs:
+ - run: cargo test --verbose --no-default-features
+ - run: cargo test --verbose
+ - run: cargo test --verbose --features derive
+- if: matrix.rust == '1.61.0'
++ if: matrix.rust == '1.68.0'
+ - run: cargo test --verbose --all-features
+ if: matrix.rust == 'nightly'
+ - run: cargo test --verbose --manifest-path=derive/Cargo.toml --all-features
+ if: matrix.rust == 'nightly'
++ - run: cd contiguous_bitset && cargo test
++ if: matrix.rust == 'stable'
+
+ cross-test:
+ name: Test on ${{ matrix.target }} with cross
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+- # we once had mips runners for Big-endian coverage but those got demoted to tier 3.
+- target: [i686-unknown-linux-gnu]
++ target: [i686-unknown-linux-gnu, s390x-unknown-linux-gnu]
+ steps:
+ - uses: hecrj/setup-rust-action@v1
+ with:
+@@ -59,6 +60,7 @@ jobs:
+ - run: cargo install cross
+ - run: cross test --verbose --target=${{ matrix.target }} --no-default-features
+ - run: cross test --verbose --target=${{ matrix.target }}
++ - run: cd derive && cross test --verbose --target=${{ matrix.target }}
+ - run: cross test --verbose --target=${{ matrix.target }} --all-features
+ if: matrix.rust == 'nightly'
+ - run: cross test --verbose --target=${{ matrix.target }} --manifest-path=derive/Cargo.toml --all-features
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.gitignore third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.gitignore
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/.gitignore 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.gitignore 2026-04-23 04:39:29.861440000 +0900
+@@ -1,10 +1,6 @@ Cargo.lock
+
+ Cargo.lock
+-/target/
+-/.vscode/
+-
+-# These are backup files generated by rustfmt
+ **/*.rs.bk
+
+-/derive/target/
+-/derive/.vscode/
++**/target/
++**/.vscode/
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/Cargo.lock third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.lock
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/Cargo.lock 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.lock 2026-04-23 04:39:29.861603000 +0900
+@@ -4,16 +4,17 @@ name = "bytemuck"
+
+ [[package]]
+ name = "bytemuck"
+-version = "1.23.2"
++version = "1.25.0"
+ dependencies = [
+ "bytemuck_derive",
++ "rustversion",
+ ]
+
+ [[package]]
+ name = "bytemuck_derive"
+-version = "1.10.1"
++version = "1.10.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29"
++checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -22,9 +23,9 @@ name = "proc-macro2"
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.94"
++version = "1.0.95"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+ dependencies = [
+ "unicode-ident",
+ ]
+@@ -39,10 +40,16 @@ dependencies = [
+ ]
+
+ [[package]]
++name = "rustversion"
++version = "1.0.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
++
++[[package]]
+ name = "syn"
+-version = "2.0.100"
++version = "2.0.101"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
++checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/Cargo.toml third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.toml
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/Cargo.toml 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.toml 2026-04-23 04:39:29.861449000 +0900
+@@ -12,10 +12,14 @@ name = "bytemuck"
+ [package]
+ edition = "2018"
+ name = "bytemuck"
+-version = "1.23.2"
++version = "1.25.0"
+ authors = ["Lokathor <zefria@gmail.com>"]
+ build = false
+-exclude = ["/pedantic.bat"]
++exclude = [
++ "/pedantic.bat",
++ "derive/",
++ "contiguous_bitset/",
++]
+ autolib = false
+ autobins = false
+ autoexamples = false
+@@ -84,7 +88,7 @@ nightly_float = []
+ must_cast_extra = ["must_cast"]
+ nightly_docs = []
+ nightly_float = []
+-nightly_portable_simd = []
++nightly_portable_simd = ["rustversion"]
+ nightly_stdsimd = []
+ pod_saturating = []
+ track_caller = []
+@@ -136,7 +140,11 @@ path = "tests/wrapper_forgets.rs"
+ path = "tests/wrapper_forgets.rs"
+
+ [dependencies.bytemuck_derive]
+-version = "1.10.1"
++version = "1.10.2"
++optional = true
++
++[dependencies.rustversion]
++version = "1.0.22"
+ optional = true
+
+ [lints.rust.unexpected_cfgs]
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/changelog.md third_party/rust/chromium_crates_io/vendor/bytemuck-v1/changelog.md
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/changelog.md 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/changelog.md 2026-04-23 04:39:29.861477000 +0900
+@@ -1,5 +1,16 @@
+ # `bytemuck` changelog
+
++## 1.25
++
++* [Remove extern "stdcall" fn ptr impls on non-x86-32 windows.](https://github.com/Lokathor/bytemuck/pull/333)
++* [Fix nightly_portable_simd after LaneCount removal.](https://github.com/Lokathor/bytemuck/pull/344)
++
++## 1.24
++
++* [use new stable avx512 types from rust 1.89](https://github.com/Lokathor/bytemuck/pull/322)
++* [impl AnyBitPattern for [MaybeUninit<T: AnyBitPattern>; N]](https://github.com/Lokathor/bytemuck/pull/317)
++* bump `derive` minimum version.
++
+ ## 1.23.2
+
+ * bump `derive` minimum version.
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/rustfmt.toml third_party/rust/chromium_crates_io/vendor/bytemuck-v1/rustfmt.toml
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/rustfmt.toml 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/rustfmt.toml 2026-04-23 04:39:29.861581000 +0900
+@@ -3,7 +3,7 @@ edition = "2018"
+
+ # Stable
+ edition = "2018"
+-fn_args_layout = "Compressed"
++fn_params_layout = "Compressed"
+ max_width = 80
+ tab_spaces = 2
+ use_field_init_shorthand = true
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/anybitpattern.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/anybitpattern.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/anybitpattern.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/anybitpattern.rs 2026-04-23 04:39:29.861735000 +0900
+@@ -62,3 +62,16 @@ unsafe impl<T> AnyBitPattern for core::mem::MaybeUnini
+ )]
+ unsafe impl<T> AnyBitPattern for core::mem::MaybeUninit<T> where T: AnyBitPattern
+ {}
++
++#[cfg(all(feature = "zeroable_maybe_uninit", feature = "min_const_generics"))]
++#[cfg_attr(
++ feature = "nightly_docs",
++ doc(cfg(all(
++ feature = "zeroable_maybe_uninit",
++ feature = "min_const_generics"
++ )))
++)]
++unsafe impl<T, const N: usize> AnyBitPattern for [core::mem::MaybeUninit<T>; N] where
++ T: AnyBitPattern
++{
++}
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/lib.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/lib.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/lib.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/lib.rs 2026-04-23 04:39:29.861767000 +0900
+@@ -5,16 +5,10 @@
+ #![allow(clippy::uninlined_format_args)]
+ #![allow(clippy::result_unit_err)]
+ #![allow(clippy::type_complexity)]
++#![allow(clippy::manual_is_multiple_of)]
+ #![cfg_attr(feature = "nightly_docs", feature(doc_cfg))]
+ #![cfg_attr(feature = "nightly_portable_simd", feature(portable_simd))]
+ #![cfg_attr(feature = "nightly_float", feature(f16, f128))]
+-#![cfg_attr(
+- all(
+- feature = "nightly_stdsimd",
+- any(target_arch = "x86_64", target_arch = "x86")
+- ),
+- feature(stdarch_x86_avx512)
+-)]
+
+ //! This crate gives small utilities for casting between plain data types.
+ //!
+@@ -569,7 +563,7 @@ pub fn fill_zeroes<T: Zeroable>(slice: &mut [T]) {
+ // case one of the intermediate drops does a panic.
+ slice.iter_mut().for_each(write_zeroes);
+ } else {
+- // Otherwise we can be really fast and just fill everthing with zeros.
++ // Otherwise we can be really fast and just fill everything with zeros.
+ let len = slice.len();
+ unsafe { core::ptr::write_bytes(slice.as_mut_ptr(), 0u8, len) }
+ }
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/must.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/must.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/must.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/must.rs 2026-04-23 04:39:29.861776000 +0900
+@@ -114,7 +114,7 @@ maybe_const_fn! {
+ /// ## Failure
+ ///
+ /// * If the target type has a greater alignment requirement.
+-/// * If the target element type doesn't evenly fit into the the current element
++/// * If the target element type doesn't evenly fit into the current element
+ /// type (eg: 3 `u16` values is 1.5 `u32` values, so that's a failure).
+ /// * Similarly, you can't convert from a non-[ZST](https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts)
+ /// to a ZST (e.g. 3 `u8` values is not any number of `()` values).
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/pod.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/pod.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs 2026-04-23 04:39:29.861727000 +0900
+@@ -143,6 +143,7 @@ impl_unsafe_marker_for_simd!(
+ }
+ );
+
++#[rustversion::before(2026-01-27)] // See https://github.com/Lokathor/bytemuck/issues/343
+ #[cfg(feature = "nightly_portable_simd")]
+ #[cfg_attr(
+ feature = "nightly_docs",
+@@ -151,33 +152,44 @@ where
+ unsafe impl<T, const N: usize> Pod for core::simd::Simd<T, N>
+ where
+ T: core::simd::SimdElement + Pod,
+- core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+ {
+ }
+
++#[rustversion::since(2026-01-27)] // See https://github.com/Lokathor/bytemuck/issues/343
++#[cfg(feature = "nightly_portable_simd")]
++#[cfg_attr(
++ feature = "nightly_docs",
++ doc(cfg(feature = "nightly_portable_simd"))
++)]
++unsafe impl<T, const N: usize> Pod for core::simd::Simd<T, N>
++where
++ T: core::simd::SimdElement + Pod,
++{
++}
++
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86", any(feature = "nightly_stdsimd", feature = "avx512_simd")))]
++ #[cfg(all(target_arch = "x86", feature = "avx512_simd"))]
+ unsafe impl Pod for x86::{
+ __m512, __m512d, __m512i
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86_64", any(feature = "nightly_stdsimd", feature = "avx512_simd")))]
++ #[cfg(all(target_arch = "x86_64", feature = "avx512_simd"))]
+ unsafe impl Pod for x86_64::{
+ __m512, __m512d, __m512i
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86", feature = "nightly_stdsimd"))]
++ #[cfg(all(target_arch = "x86", feature = "avx512_simd"))]
+ unsafe impl Pod for x86::{
+ __m128bh, __m256bh, __m512bh
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86_64", feature = "nightly_stdsimd"))]
++ #[cfg(all(target_arch = "x86_64", feature = "avx512_simd"))]
+ unsafe impl Pod for x86_64::{
+ __m128bh, __m256bh, __m512bh
+ }
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/zeroable.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/zeroable.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs 2026-04-23 04:39:29.861812000 +0900
+@@ -222,6 +222,7 @@ impl_unsafe_marker_for_simd!(
+ }
+ );
+
++#[rustversion::before(2026-01-27)] // See https://github.com/Lokathor/bytemuck/issues/343
+ #[cfg(feature = "nightly_portable_simd")]
+ #[cfg_attr(
+ feature = "nightly_docs",
+@@ -230,33 +231,44 @@ where
+ unsafe impl<T, const N: usize> Zeroable for core::simd::Simd<T, N>
+ where
+ T: core::simd::SimdElement + Zeroable,
+- core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+ {
+ }
+
++#[rustversion::since(2026-01-27)] // See https://github.com/Lokathor/bytemuck/issues/343
++#[cfg(feature = "nightly_portable_simd")]
++#[cfg_attr(
++ feature = "nightly_docs",
++ doc(cfg(feature = "nightly_portable_simd"))
++)]
++unsafe impl<T, const N: usize> Zeroable for core::simd::Simd<T, N>
++where
++ T: core::simd::SimdElement + Zeroable,
++{
++}
++
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86", any(feature = "nightly_stdsimd", feature = "avx512_simd")))]
++ #[cfg(all(target_arch = "x86", feature = "avx512_simd"))]
+ unsafe impl Zeroable for x86::{
+ __m512, __m512d, __m512i
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86_64", any(feature = "nightly_stdsimd", feature = "avx512_simd")))]
++ #[cfg(all(target_arch = "x86_64", feature = "avx512_simd"))]
+ unsafe impl Zeroable for x86_64::{
+ __m512, __m512d, __m512i
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86", feature = "nightly_stdsimd"))]
++ #[cfg(all(target_arch = "x86", feature = "avx512_simd"))]
+ unsafe impl Zeroable for x86::{
+ __m128bh, __m256bh, __m512bh
+ }
+ );
+
+ impl_unsafe_marker_for_simd!(
+- #[cfg(all(target_arch = "x86_64", feature = "nightly_stdsimd"))]
++ #[cfg(all(target_arch = "x86_64", feature = "avx512_simd"))]
+ unsafe impl Zeroable for x86_64::{
+ __m128bh, __m256bh, __m512bh
+ }
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/zeroable_in_option.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable_in_option.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/src/zeroable_in_option.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable_in_option.rs 2026-04-23 04:39:29.861801000 +0900
+@@ -52,9 +52,9 @@ macro_rules! impl_for_fn {
+ unsafe impl<$($ArgTy,)* R> ZeroableInOption for unsafe extern "C" fn($($ArgTy,)*) -> R {}
+ unsafe impl<$($ArgTy,)* R> ZeroableInOption for extern "system" fn($($ArgTy,)*) -> R {}
+ unsafe impl<$($ArgTy,)* R> ZeroableInOption for unsafe extern "system" fn($($ArgTy,)*) -> R {}
+- #[cfg(target_os="windows")]
++ #[cfg(all(target_os="windows", target_arch = "x86"))]
+ unsafe impl<$($ArgTy,)* R> ZeroableInOption for extern "stdcall" fn($($ArgTy,)*) -> R {}
+- #[cfg(target_os="windows")]
++ #[cfg(all(target_os="windows", target_arch = "x86"))]
+ unsafe impl<$($ArgTy,)* R> ZeroableInOption for unsafe extern "stdcall" fn($($ArgTy,)*) -> R {}
+ #[cfg(feature = "zeroable_unwind_fn")]
+ impl_for_unwind_fn!($($ArgTy),*);
+diff -audpNr third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/tests/std_tests.rs third_party/rust/chromium_crates_io/vendor/bytemuck-v1/tests/std_tests.rs
+--- third_party/rust/chromium_crates_io/vendor/bytemuck-v1.orig/tests/std_tests.rs 2026-01-06 08:20:51.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/tests/std_tests.rs 2026-04-23 04:39:29.861503000 +0900
+@@ -58,7 +58,7 @@ fn test_try_from_box_bytes() {
+
+ // Different layout: target alignment is less than source alignment.
+ assert_eq!(
+- try_from_box_bytes::<u32>(Box::new(0u64).into()).map_err(|(x, _)| x),
++ try_from_box_bytes::<u16>(Box::new(0u64).into()).map_err(|(x, _)| x),
+ Err(PodCastError::AlignmentMismatch)
+ );
+