git: 5c791a04ff9e - main - devel/electron40: Fix build with rust 1.95

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Thu, 23 Apr 2026 11:43:35 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5c791a04ff9e6c7cff9d85baf7749bb186a631b4

commit 5c791a04ff9e6c7cff9d85baf7749bb186a631b4
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-04-23 11:34:56 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-04-23 11:43:25 +0000

    devel/electron40: Fix build with rust 1.95
    
    Obtained from:  https://chromium.googlesource.com/chromium/src/+/63a53b823f06b9638e93ff8ae26112ca1a9f09e2,
                    https://chromium.googlesource.com/chromium/src/+/986245c8b6d972710f729f09ed50e0b7d0d6cdfd
    
    PR:             294615
    Reported by:    mikael
    Obtained from:  https://chromium.googlesource.com/chromium/src/+/63a53b823f06b9638e93ff8ae26112ca1a9f09e2,
                    https://chromium.googlesource.com/chromium/src/+/986245c8b6d972710f729f09ed50e0b7d0d6cdfd
---
 devel/electron40/files/patch-rust-1.95 | 2942 ++++++++++++++++++++++++++++++++
 1 file changed, 2942 insertions(+)

diff --git a/devel/electron40/files/patch-rust-1.95 b/devel/electron40/files/patch-rust-1.95
new file mode 100644
index 000000000000..eadc5416bc67
--- /dev/null
+++ b/devel/electron40/files/patch-rust-1.95
@@ -0,0 +1,2942 @@
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/bytemuck/v1/BUILD.gn	2026-04-23 04:05:07.702231000 +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.24.0"
++  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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/bytemuck/v1/README.chromium	2026-04-23 04:05:07.702363000 +0900
+@@ -1,7 +1,7 @@ URL: https://crates.io/crates/bytemuck
+ Name: bytemuck
+ URL: https://crates.io/crates/bytemuck
+-Version: 1.24.0
+-Revision: da748163ea203f80098b6bdc754c54ebc535364c
++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
+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	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/rustversion/v1/BUILD.gn	2026-04-23 04:05:12.588960000 +0900
+@@ -0,0 +1,84 @@
++# Copyright 2023 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++# @generated from third_party/rust/chromium_crates_io/BUILD.gn.hbs by
++# tools/crates/gnrt.
++# Do not edit!
++
++import("//build/rust/cargo_crate.gni")
++
++cargo_crate("lib") {
++  crate_name = "rustversion"
++  epoch = "1"
++  crate_type = "proc-macro"
++  crate_root =
++      "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/lib.rs"
++  sources = [
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/attr.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/bound.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/constfn.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/date.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/error.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/expand.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/expr.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/iter.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/lib.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/release.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/time.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/token.rs",
++    "//third_party/rust/chromium_crates_io/vendor/rustversion-v1/src/version.rs",
++  ]
++  inputs = []
++
++  build_native_rust_unit_tests = false
++  edition = "2018"
++  cargo_pkg_authors = "David Tolnay <dtolnay@gmail.com>"
++  cargo_pkg_name = "rustversion"
++  cargo_pkg_description =
++      "Conditional compilation according to rustc compiler version"
++  cargo_pkg_repository = "https://github.com/dtolnay/rustversion"
++  cargo_pkg_version = "1.0.22"
++
++  allow_unsafe = false
++
++  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/../../rustversion-v1/build/rustc.rs" ]
++  build_script_outputs = [ "version.expr" ]
++
++  # Only for usage from third-party crates. Add the crate to
++  # //third_party/rust/chromium_crates_io/Cargo.toml to use
++  # it from first-party code.
++  visibility = [ "//third_party/rust/*" ]
++
++  #####################################################################
++  # Tweaking which GN `config`s apply to this target.
++
++  # Config changes that apply to all `//third_party/rust` crates.
++  _configs_to_remove = [
++    # We don't need code coverage data for any `chromium_crates_io` crates.
++    "//build/config/coverage:default_coverage",
++
++    # This is third-party code, so remove `chromium_code` config.  We are not
++    # at the same time adding `//build/config/compiler:no_chromium_code`,
++    # because 1) we don't want to pull how warnings are handled by that config
++    # and 2) that config doesn't have any non-warnings-related stuff.
++    "//build/config/compiler:chromium_code",
++  ]
++  _configs_to_add = []
++
++  # Changing (if needed) which configs apply to this specific crate (based on
++  # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
++  # `gnrt_config.toml`).
++  _configs_to_remove += []
++  _configs_to_add += []
++
++  # Applying config changes.
++  library_configs -= _configs_to_remove
++  library_configs += _configs_to_add
++  executable_configs -= _configs_to_remove
++  executable_configs += _configs_to_add
++  proc_macro_configs -= _configs_to_remove
++  proc_macro_configs += _configs_to_add
++}
+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	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/rustversion/v1/README.chromium	2026-04-23 04:05:12.589030000 +0900
+@@ -0,0 +1,11 @@
++Name: rustversion
++URL: https://crates.io/crates/rustversion
++Version: 1.0.22
++Revision: 9e86f839b6a34a7d9398f243d88bf400b7fa1f7c
++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
++Security Critical: yes
++
++Description: Conditional compilation according to rustc compiler version
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.cargo_vcs_info.json	2026-04-23 04:06:06.287523000 +0900
+@@ -1,6 +1,6 @@
+ {
+   "git": {
+-    "sha1": "da748163ea203f80098b6bdc754c54ebc535364c"
++    "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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/.github/workflows/rust.yml	2026-04-23 04:06:06.288859000 +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,7 +38,7 @@ 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
+@@ -51,8 +51,7 @@ jobs:
+     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:
+@@ -61,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/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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.lock	2026-04-23 04:06:06.288491000 +0900
+@@ -4,9 +4,10 @@ name = "bytemuck"
+ 
+ [[package]]
+ name = "bytemuck"
+-version = "1.24.0"
++version = "1.25.0"
+ dependencies = [
+  "bytemuck_derive",
++ "rustversion",
+ ]
+ 
+ [[package]]
+@@ -22,27 +23,33 @@ name = "proc-macro2"
+ 
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.92"
++version = "1.0.95"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+ dependencies = [
+  "unicode-ident",
+ ]
+ 
+ [[package]]
+ name = "quote"
+-version = "1.0.38"
++version = "1.0.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+ dependencies = [
+  "proc-macro2",
+ ]
+ 
+ [[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.95"
++version = "2.0.101"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a"
++checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+ dependencies = [
+  "proc-macro2",
+  "quote",
+@@ -51,6 +58,6 @@ name = "unicode-ident"
+ 
+ [[package]]
+ name = "unicode-ident"
+-version = "1.0.14"
++version = "1.0.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/Cargo.toml	2026-04-23 04:06:06.287399000 +0900
+@@ -12,7 +12,7 @@ name = "bytemuck"
+ [package]
+ edition = "2018"
+ name = "bytemuck"
+-version = "1.24.0"
++version = "1.25.0"
+ authors = ["Lokathor <zefria@gmail.com>"]
+ build = false
+ exclude = [
+@@ -88,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 = []
+@@ -141,6 +141,10 @@ version = "1.10.2"
+ 
+ [dependencies.bytemuck_derive]
+ 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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/changelog.md	2026-04-23 04:06:06.287600000 +0900
+@@ -1,5 +1,10 @@
+ # `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)
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/must.rs	2026-04-23 04:06:06.289727000 +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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs	2026-04-23 04:06:06.289401000 +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,7 +152,18 @@ 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,
+ {
+ }
+ 
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs	2026-04-23 04:06:06.289961000 +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,7 +231,18 @@ 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,
+ {
+ }
+ 
+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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable_in_option.rs	2026-04-23 04:06:06.289899000 +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-03-03 07:10:33.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/bytemuck-v1/tests/std_tests.rs	2026-04-23 04:06:06.287768000 +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)
+   );
+ 
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.cargo-checksum.json third_party/rust/chromium_crates_io/vendor/rustversion-v1/.cargo-checksum.json
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.cargo-checksum.json	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/.cargo-checksum.json	2026-04-23 04:06:10.650728000 +0900
+@@ -0,0 +1 @@
++{"files":{}}
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.cargo_vcs_info.json third_party/rust/chromium_crates_io/vendor/rustversion-v1/.cargo_vcs_info.json
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.cargo_vcs_info.json	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/.cargo_vcs_info.json	2026-04-23 04:06:10.650735000 +0900
+@@ -0,0 +1,6 @@
++{
++  "git": {
++    "sha1": "9e86f839b6a34a7d9398f243d88bf400b7fa1f7c"
++  },
++  "path_in_vcs": ""
++}
+\ No newline at end of file
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.github/FUNDING.yml third_party/rust/chromium_crates_io/vendor/rustversion-v1/.github/FUNDING.yml
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.github/FUNDING.yml	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/.github/FUNDING.yml	2026-04-23 04:06:10.650959000 +0900
+@@ -0,0 +1 @@
++github: dtolnay
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.github/workflows/ci.yml third_party/rust/chromium_crates_io/vendor/rustversion-v1/.github/workflows/ci.yml
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.github/workflows/ci.yml	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/.github/workflows/ci.yml	2026-04-23 04:06:10.650975000 +0900
+@@ -0,0 +1,117 @@
++name: CI
++
++on:
++  push:
++  pull_request:
++  workflow_dispatch:
++  schedule: [cron: "40 1 * * *"]
++
++permissions:
++  contents: read
++
++env:
++  RUSTFLAGS: -Dwarnings
++
++jobs:
++  pre_ci:
++    uses: dtolnay/.github/.github/workflows/pre_ci.yml@master
++
++  test:
++    name: Rust ${{matrix.rust}}
++    needs: pre_ci
++    if: needs.pre_ci.outputs.continue
++    runs-on: ubuntu-latest
++    strategy:
++      fail-fast: false
++      matrix:
++        rust: [nightly, beta, stable, 1.56.0]
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@master
++        with:
++          toolchain: ${{matrix.rust}}
++      - name: Enable type layout randomization
++        run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV
++        if: matrix.rust == 'nightly'
++      - run: cargo test
++      - name: RUSTFLAGS=-Zfmt-debug=none cargo test
++        run: RUSTFLAGS=${RUSTFLAGS}\ -Zfmt-debug=none cargo test
++        if: matrix.rust == 'nightly'
++      - uses: actions/upload-artifact@v4
++        if: matrix.rust == 'nightly' && always()
++        with:
++          name: Cargo.lock
++          path: Cargo.lock
++        continue-on-error: true
++
++  windows:
++    name: Windows
++    needs: pre_ci
++    if: needs.pre_ci.outputs.continue
++    runs-on: windows-latest
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@stable
++      - run: cargo test
++
++  msrv:
++    name: Rust 1.31.0
++    needs: pre_ci
++    if: needs.pre_ci.outputs.continue
++    runs-on: ubuntu-latest
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@1.31.0
++      - run: cargo check
++
++  doc:
++    name: Documentation
++    needs: pre_ci
++    if: needs.pre_ci.outputs.continue
++    runs-on: ubuntu-latest
++    timeout-minutes: 45
++    env:
++      RUSTDOCFLAGS: -Dwarnings
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@nightly
++      - uses: dtolnay/install@cargo-docs-rs
++      - run: cargo docs-rs
++
++  clippy:
++    name: Clippy
++    runs-on: ubuntu-latest
++    if: github.event_name != 'pull_request'
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@clippy
++      - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic
++
++  miri:
++    name: Miri
++    needs: pre_ci
++    if: needs.pre_ci.outputs.continue
++    runs-on: ubuntu-latest
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@miri
++      - run: cargo miri setup
++      - run: cargo miri test
++        env:
++          MIRIFLAGS: -Zmiri-strict-provenance
++
++  outdated:
++    name: Outdated
++    runs-on: ubuntu-latest
++    if: github.event_name != 'pull_request'
++    timeout-minutes: 45
++    steps:
++      - uses: actions/checkout@v4
++      - uses: dtolnay/rust-toolchain@stable
++      - uses: dtolnay/install@cargo-outdated
++      - run: cargo outdated --workspace --exit-code 1
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.gitignore third_party/rust/chromium_crates_io/vendor/rustversion-v1/.gitignore
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/.gitignore	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/.gitignore	2026-04-23 04:06:10.650710000 +0900
+@@ -0,0 +1,2 @@
++/target/
++/Cargo.lock
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/Cargo.lock third_party/rust/chromium_crates_io/vendor/rustversion-v1/Cargo.lock
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/Cargo.lock	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/Cargo.lock	2026-04-23 04:06:10.650923000 +0900
+@@ -0,0 +1,296 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "dissimilar"
++version = "1.0.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921"
++
++[[package]]
++name = "equivalent"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
++
++[[package]]
++name = "glob"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
++
++[[package]]
++name = "hashbrown"
++version = "0.15.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
++
++[[package]]
++name = "indexmap"
++version = "2.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
++dependencies = [
++ "equivalent",
++ "hashbrown",
++]
++
++[[package]]
++name = "itoa"
++version = "1.0.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
++
++[[package]]
++name = "memchr"
++version = "2.7.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.95"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rustversion"
++version = "1.0.22"
++dependencies = [
++ "trybuild",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
++
++[[package]]
++name = "serde"
++version = "1.0.219"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.219"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.142"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
++dependencies = [
++ "itoa",
++ "memchr",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_spanned"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "target-triple"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790"
++
++[[package]]
++name = "termcolor"
++version = "1.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "toml"
++version = "0.9.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8"
++dependencies = [
++ "indexmap",
++ "serde",
++ "serde_spanned",
++ "toml_datetime",
++ "toml_parser",
++ "toml_writer",
++ "winnow",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_parser"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10"
++dependencies = [
++ "winnow",
++]
++
++[[package]]
++name = "toml_writer"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64"
++
++[[package]]
++name = "trybuild"
++version = "1.0.110"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e"
++dependencies = [
++ "dissimilar",
++ "glob",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "target-triple",
++ "termcolor",
++ "toml",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
++dependencies = [
++ "windows-sys",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.59.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
++dependencies = [
++ "windows-targets",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
++dependencies = [
++ "windows_aarch64_gnullvm",
++ "windows_aarch64_msvc",
++ "windows_i686_gnu",
++ "windows_i686_gnullvm",
++ "windows_i686_msvc",
++ "windows_x86_64_gnu",
++ "windows_x86_64_gnullvm",
++ "windows_x86_64_msvc",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
++
++[[package]]
++name = "windows_i686_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
++
++[[package]]
++name = "winnow"
++version = "0.7.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/Cargo.toml third_party/rust/chromium_crates_io/vendor/rustversion-v1/Cargo.toml
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/Cargo.toml	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/Cargo.toml	2026-04-23 04:06:10.650718000 +0900
+@@ -0,0 +1,68 @@
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g., crates.io) dependencies.
++#
++# If you are reading this file be aware that the original Cargo.toml
++# will likely look very different (and much more reasonable).
++# See Cargo.toml.orig for the original contents.
++
++[package]
++edition = "2018"
++rust-version = "1.31"
++name = "rustversion"
++version = "1.0.22"
++authors = ["David Tolnay <dtolnay@gmail.com>"]
++build = "build/build.rs"
++autolib = false
++autobins = false
++autoexamples = false
++autotests = false
++autobenches = false
++description = "Conditional compilation according to rustc compiler version"
++documentation = "https://docs.rs/rustversion"
++readme = "README.md"
++categories = [
++    "development-tools::build-utils",
++    "no-std",
++    "no-std::no-alloc",
++]
++license = "MIT OR Apache-2.0"
++repository = "https://github.com/dtolnay/rustversion"
++
++[package.metadata.docs.rs]
++targets = ["x86_64-unknown-linux-gnu"]
++rustdoc-args = [
++    "--generate-link-to-definition",
++    "--extern-html-root-url=core=https://doc.rust-lang.org",
++    "--extern-html-root-url=alloc=https://doc.rust-lang.org",
++    "--extern-html-root-url=std=https://doc.rust-lang.org",
++    "--extern-html-root-url=proc_macro=https://doc.rust-lang.org",
++]
++
++[lib]
++name = "rustversion"
++path = "src/lib.rs"
++proc-macro = true
++
++[[test]]
++name = "compiletest"
++path = "tests/compiletest.rs"
++
++[[test]]
++name = "test_const"
++path = "tests/test_const.rs"
++
++[[test]]
++name = "test_eval"
++path = "tests/test_eval.rs"
++
++[[test]]
++name = "test_parse"
++path = "tests/test_parse.rs"
++
++[dev-dependencies.trybuild]
++version = "1.0.49"
++features = ["diff"]
+diff -audpNr third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/LICENSE-APACHE third_party/rust/chromium_crates_io/vendor/rustversion-v1/LICENSE-APACHE
+--- third_party/rust/chromium_crates_io/vendor/rustversion-v1.orig/LICENSE-APACHE	1970-01-01 09:00:00.000000000 +0900
++++ third_party/rust/chromium_crates_io/vendor/rustversion-v1/LICENSE-APACHE	2026-04-23 04:06:10.650944000 +0900
+@@ -0,0 +1,176 @@
++                              Apache License
++                        Version 2.0, January 2004
++                     http://www.apache.org/licenses/
++
++TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
++
++1. Definitions.
++
++   "License" shall mean the terms and conditions for use, reproduction,
++   and distribution as defined by Sections 1 through 9 of this document.
++
++   "Licensor" shall mean the copyright owner or entity authorized by
++   the copyright owner that is granting the License.
++
++   "Legal Entity" shall mean the union of the acting entity and all
++   other entities that control, are controlled by, or are under common
++   control with that entity. For the purposes of this definition,
++   "control" means (i) the power, direct or indirect, to cause the
++   direction or management of such entity, whether by contract or
++   otherwise, or (ii) ownership of fifty percent (50%) or more of the
++   outstanding shares, or (iii) beneficial ownership of such entity.
++
++   "You" (or "Your") shall mean an individual or Legal Entity
++   exercising permissions granted by this License.
++
++   "Source" form shall mean the preferred form for making modifications,
++   including but not limited to software source code, documentation
++   source, and configuration files.
++
*** 1984 LINES SKIPPED ***