Merge ~nadzeya/ubuntu/+source/rust-hwlib:devel-0.11.0 into ubuntu/+source/rust-hwlib:ubuntu/devel

Proposed by Nadzeya Hutsko
Status: Merged
Merge reported by: Nadzeya Hutsko
Merged at revision: 7bcdf528bd583d64484754c69713ffea5a470939
Proposed branch: ~nadzeya/ubuntu/+source/rust-hwlib:devel-0.11.0
Merge into: ubuntu/+source/rust-hwlib:ubuntu/devel
Diff against target: 66661 lines (+24378/-14723)
774 files modified
.cargo_vcs_info.json (+1/-1)
.gitignore (+3/-5)
Cargo.lock (+62/-127)
Cargo.toml (+2/-2)
Cargo.toml.orig (+6/-3)
README.md (+10/-1)
debian/changelog (+10/-0)
debian/control (+1/-1)
debian/rules (+3/-12)
debian/watch (+6/-4)
dev/null (+0/-1)
rust-vendor/anstream/.cargo_vcs_info.json (+6/-0)
rust-vendor/anstream/Cargo.toml.orig (+72/-0)
rust-vendor/anstyle-parse/.cargo_vcs_info.json (+6/-0)
rust-vendor/anstyle-parse/Cargo.toml.orig (+48/-0)
rust-vendor/anstyle-query/.cargo_vcs_info.json (+6/-0)
rust-vendor/anstyle-query/Cargo.lock (+26/-19)
rust-vendor/anstyle-query/Cargo.toml (+2/-3)
rust-vendor/anstyle-query/Cargo.toml.orig (+30/-0)
rust-vendor/anstyle-query/README.md (+2/-2)
rust-vendor/anstyle-query/src/lib.rs (+1/-1)
rust-vendor/anstyle-wincon/Cargo.toml (+4/-5)
rust-vendor/anstyle/.cargo_vcs_info.json (+6/-0)
rust-vendor/anstyle/Cargo.toml.orig (+38/-0)
rust-vendor/anyhow/.cargo_vcs_info.json (+6/-0)
rust-vendor/anyhow/.github/FUNDING.yml (+1/-0)
rust-vendor/anyhow/.github/workflows/ci.yml (+147/-0)
rust-vendor/anyhow/Cargo.toml.orig (+40/-0)
rust-vendor/autocfg/.cargo_vcs_info.json (+6/-0)
rust-vendor/autocfg/Cargo.toml.orig (+15/-0)
rust-vendor/bitflags/.cargo_vcs_info.json (+6/-0)
rust-vendor/bitflags/CHANGELOG.md (+11/-0)
rust-vendor/bitflags/Cargo.lock (+60/-114)
rust-vendor/bitflags/Cargo.toml (+9/-6)
rust-vendor/bitflags/Cargo.toml.orig (+41/-0)
rust-vendor/bitflags/README.md (+1/-1)
rust-vendor/bitflags/src/external.rs (+1/-1)
rust-vendor/bitflags/src/external/serde.rs (+4/-3)
rust-vendor/bitflags/src/iter.rs (+37/-0)
rust-vendor/bitflags/src/lib.rs (+1/-1)
rust-vendor/bitflags/src/tests/iter.rs (+90/-0)
rust-vendor/bitflags/src/traits.rs (+5/-0)
rust-vendor/cc/.cargo_vcs_info.json (+6/-0)
rust-vendor/cc/CHANGELOG.md (+58/-0)
rust-vendor/cc/Cargo.lock (+12/-21)
rust-vendor/cc/Cargo.toml (+2/-2)
rust-vendor/cc/Cargo.toml.orig (+59/-0)
rust-vendor/cc/src/command_helpers.rs (+34/-13)
rust-vendor/cc/src/flags.rs (+9/-6)
rust-vendor/cc/src/lib.rs (+87/-10)
rust-vendor/cc/src/tool.rs (+44/-20)
rust-vendor/cfg-if/.cargo_vcs_info.json (+6/-0)
rust-vendor/cfg-if/.github/dependabot.yml (+14/-0)
rust-vendor/cfg-if/.github/workflows/main.yaml (+48/-0)
rust-vendor/cfg-if/.github/workflows/publish.yaml (+25/-0)
rust-vendor/cfg-if/Cargo.toml.orig (+20/-0)
rust-vendor/clap/.cargo_vcs_info.json (+6/-0)
rust-vendor/clap/Cargo.lock (+3/-3)
rust-vendor/clap/Cargo.toml (+2/-2)
rust-vendor/clap/Cargo.toml.orig (+539/-0)
rust-vendor/clap/src/lib.rs (+1/-1)
rust-vendor/clap_builder/.cargo_vcs_info.json (+6/-0)
rust-vendor/clap_builder/Cargo.lock (+1/-1)
rust-vendor/clap_builder/Cargo.toml (+1/-1)
rust-vendor/clap_builder/Cargo.toml.orig (+77/-0)
rust-vendor/clap_builder/src/builder/arg.rs (+76/-7)
rust-vendor/clap_builder/src/builder/arg_group.rs (+9/-29)
rust-vendor/clap_builder/src/builder/os_str.rs (+34/-0)
rust-vendor/clap_builder/src/builder/str.rs (+35/-0)
rust-vendor/clap_builder/src/builder/styled_str.rs (+29/-0)
rust-vendor/clap_builder/src/error/kind.rs (+1/-1)
rust-vendor/clap_builder/src/output/help_template.rs (+12/-18)
rust-vendor/clap_builder/src/parser/parser.rs (+4/-2)
rust-vendor/clap_builder/src/util/color.rs (+2/-7)
rust-vendor/clap_builder/src/util/id.rs (+31/-0)
rust-vendor/clap_derive/.cargo_vcs_info.json (+6/-0)
rust-vendor/clap_derive/Cargo.toml.orig (+49/-0)
rust-vendor/clap_lex/.cargo_vcs_info.json (+6/-0)
rust-vendor/clap_lex/Cargo.toml.orig (+36/-0)
rust-vendor/colorchoice/.cargo_vcs_info.json (+6/-0)
rust-vendor/colorchoice/Cargo.toml.orig (+27/-0)
rust-vendor/diff/.cargo_vcs_info.json (+6/-0)
rust-vendor/diff/.github/workflows/main.yml (+25/-0)
rust-vendor/diff/Cargo.toml.orig (+18/-0)
rust-vendor/find-msvc-tools/.cargo_vcs_info.json (+6/-0)
rust-vendor/find-msvc-tools/CHANGELOG.md (+6/-0)
rust-vendor/find-msvc-tools/Cargo.lock (+1/-1)
rust-vendor/find-msvc-tools/Cargo.toml (+1/-1)
rust-vendor/find-msvc-tools/Cargo.toml.orig (+18/-0)
rust-vendor/find-msvc-tools/src/find_tools.rs (+23/-5)
rust-vendor/foreign-types-shared/Cargo.toml.orig (+9/-0)
rust-vendor/foreign-types/Cargo.toml.orig (+11/-0)
rust-vendor/getopts/.cargo_vcs_info.json (+6/-0)
rust-vendor/getopts/.github/workflows/main.yaml (+54/-0)
rust-vendor/getopts/.github/workflows/publish.yaml (+25/-0)
rust-vendor/getopts/Cargo.toml.orig (+23/-0)
rust-vendor/heck/.cargo_vcs_info.json (+6/-0)
rust-vendor/heck/Cargo.toml.orig (+11/-0)
rust-vendor/indoc/.cargo_vcs_info.json (+6/-0)
rust-vendor/indoc/.github/FUNDING.yml (+1/-0)
rust-vendor/indoc/.github/workflows/ci.yml (+95/-0)
rust-vendor/indoc/Cargo.lock (+74/-120)
rust-vendor/indoc/Cargo.toml (+9/-4)
rust-vendor/indoc/Cargo.toml.orig (+38/-0)
rust-vendor/indoc/README.md (+1/-1)
rust-vendor/indoc/src/error.rs (+3/-3)
rust-vendor/indoc/src/lib.rs (+13/-5)
rust-vendor/indoc/src/unindent.rs (+2/-0)
rust-vendor/is_terminal_polyfill/.cargo_vcs_info.json (+6/-0)
rust-vendor/is_terminal_polyfill/Cargo.lock (+7/-0)
rust-vendor/is_terminal_polyfill/Cargo.toml (+15/-18)
rust-vendor/is_terminal_polyfill/Cargo.toml.orig (+106/-0)
rust-vendor/is_terminal_polyfill/src/lib.rs (+0/-1)
rust-vendor/itoa/.cargo_vcs_info.json (+6/-0)
rust-vendor/itoa/.github/FUNDING.yml (+1/-0)
rust-vendor/itoa/.github/workflows/ci.yml (+114/-0)
rust-vendor/itoa/Cargo.toml.orig (+25/-0)
rust-vendor/lazy_static/.cargo_vcs_info.json (+6/-0)
rust-vendor/lazy_static/Cargo.toml.orig (+28/-0)
rust-vendor/libc/.cargo_vcs_info.json (+6/-0)
rust-vendor/libc/.editorconfig (+7/-0)
rust-vendor/libc/.git-blame-ignore-revs (+6/-0)
rust-vendor/libc/.release-plz.toml (+49/-0)
rust-vendor/libc/.rustfmt.toml (+2/-0)
rust-vendor/libc/CHANGELOG.md (+84/-0)
rust-vendor/libc/CONTRIBUTING.md (+1/-1)
rust-vendor/libc/Cargo.lock (+1/-1)
rust-vendor/libc/Cargo.toml (+6/-1)
rust-vendor/libc/Cargo.toml.orig (+186/-0)
rust-vendor/libc/README.md (+1/-1)
rust-vendor/libc/build.rs (+31/-19)
rust-vendor/libc/src/fuchsia/aarch64.rs (+8/-8)
rust-vendor/libc/src/fuchsia/mod.rs (+38/-338)
rust-vendor/libc/src/fuchsia/riscv64.rs (+4/-4)
rust-vendor/libc/src/fuchsia/x86_64.rs (+6/-38)
rust-vendor/libc/src/hermit.rs (+2/-2)
rust-vendor/libc/src/lib.rs (+0/-1)
rust-vendor/libc/src/macros.rs (+259/-45)
rust-vendor/libc/src/new/aix/mod.rs (+6/-0)
rust-vendor/libc/src/new/aix/unistd.rs (+7/-0)
rust-vendor/libc/src/new/apple/libc/signal.rs (+5/-0)
rust-vendor/libc/src/new/apple/libc/unistd.rs (+7/-0)
rust-vendor/libc/src/new/apple/libpthread/mod.rs (+20/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/introspection.rs (+36/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/pthread.rs (+76/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/pthread_impl.rs (+12/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/pthread_spis.rs (+14/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/qos.rs (+25/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/sched.rs (+9/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/spawn.rs (+16/-0)
rust-vendor/libc/src/new/apple/libpthread/pthread_/stack_np.rs (+12/-0)
rust-vendor/libc/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs (+79/-0)
rust-vendor/libc/src/new/apple/libpthread/sys/mod.rs (+14/-0)
rust-vendor/libc/src/new/apple/libpthread/sys/qos.rs (+22/-0)
rust-vendor/libc/src/new/apple/mod.rs (+20/-0)
rust-vendor/libc/src/new/apple/xnu/arm/_mcontext.rs (+15/-0)
rust-vendor/libc/src/new/apple/xnu/i386/_mcontext.rs (+15/-0)
rust-vendor/libc/src/new/apple/xnu/mach/arm/_structs.rs (+37/-0)
rust-vendor/libc/src/new/apple/xnu/mach/i386/_structs.rs (+92/-0)
rust-vendor/libc/src/new/apple/xnu/mach/machine/_structs.rs (+13/-0)
rust-vendor/libc/src/new/apple/xnu/mach/mod.rs (+20/-0)
rust-vendor/libc/src/new/apple/xnu/machine/_mcontext.rs (+11/-0)
rust-vendor/libc/src/new/apple/xnu/mod.rs (+30/-0)
rust-vendor/libc/src/new/apple/xnu/sys/_types/_ucontext.rs (+17/-0)
rust-vendor/libc/src/new/apple/xnu/sys/mod.rs (+15/-0)
rust-vendor/libc/src/new/apple/xnu/sys/signal.rs (+6/-0)
rust-vendor/libc/src/new/bionic_libc/mod.rs (+7/-0)
rust-vendor/libc/src/new/bionic_libc/pthread.rs (+42/-0)
rust-vendor/libc/src/new/bionic_libc/sys/mod.rs (+3/-0)
rust-vendor/libc/src/new/bionic_libc/sys/socket.rs (+1/-1)
rust-vendor/libc/src/new/bionic_libc/unistd.rs (+7/-0)
rust-vendor/libc/src/new/common/bsd.rs (+1/-0)
rust-vendor/libc/src/new/common/freebsd_like.rs (+1/-0)
rust-vendor/libc/src/new/common/linux_like/mod.rs (+9/-0)
rust-vendor/libc/src/new/common/linux_like/pthread.rs (+25/-0)
rust-vendor/libc/src/new/common/mod.rs (+39/-0)
rust-vendor/libc/src/new/common/netbsd_like.rs (+1/-0)
rust-vendor/libc/src/new/common/posix/mod.rs (+14/-0)
rust-vendor/libc/src/new/common/posix/pthread.rs (+331/-0)
rust-vendor/libc/src/new/common/posix/unistd.rs (+9/-0)
rust-vendor/libc/src/new/common/solarish.rs (+1/-0)
rust-vendor/libc/src/new/cygwin/mod.rs (+5/-0)
rust-vendor/libc/src/new/cygwin/unistd.rs (+7/-0)
rust-vendor/libc/src/new/dragonfly/mod.rs (+6/-0)
rust-vendor/libc/src/new/dragonfly/unistd.rs (+7/-0)
rust-vendor/libc/src/new/emscripten/mod.rs (+6/-0)
rust-vendor/libc/src/new/emscripten/pthread.rs (+14/-0)
rust-vendor/libc/src/new/emscripten/unistd.rs (+7/-0)
rust-vendor/libc/src/new/espidf/mod.rs (+2/-0)
rust-vendor/libc/src/new/freebsd/mod.rs (+6/-0)
rust-vendor/libc/src/new/freebsd/unistd.rs (+7/-0)
rust-vendor/libc/src/new/fuchsia/mod.rs (+4/-0)
rust-vendor/libc/src/new/fuchsia/unistd.rs (+7/-0)
rust-vendor/libc/src/new/glibc/mod.rs (+31/-0)
rust-vendor/libc/src/new/glibc/posix/unistd.rs (+9/-0)
rust-vendor/libc/src/new/glibc/sysdeps/nptl/mod.rs (+7/-0)
rust-vendor/libc/src/new/glibc/sysdeps/nptl/pthread.rs (+59/-0)
rust-vendor/libc/src/new/glibc/sysdeps/unix/linux/mod.rs (+10/-0)
rust-vendor/libc/src/new/glibc/sysdeps/unix/linux/net/route.rs (+30/-0)
rust-vendor/libc/src/new/glibc/sysdeps/unix/mod.rs (+6/-0)
rust-vendor/libc/src/new/haiku/mod.rs (+4/-0)
rust-vendor/libc/src/new/haiku/unistd.rs (+7/-0)
rust-vendor/libc/src/new/hermit_abi/mod.rs (+3/-0)
rust-vendor/libc/src/new/horizon/mod.rs (+2/-0)
rust-vendor/libc/src/new/hurd/mod.rs (+2/-0)
rust-vendor/libc/src/new/illumos/mod.rs (+4/-0)
rust-vendor/libc/src/new/illumos/unistd.rs (+7/-0)
rust-vendor/libc/src/new/l4re/mod.rs (+3/-0)
rust-vendor/libc/src/new/linux_uapi/linux/can.rs (+2/-5)
rust-vendor/libc/src/new/linux_uapi/linux/can/bcm.rs (+52/-0)
rust-vendor/libc/src/new/linux_uapi/linux/can/raw.rs (+1/-1)
rust-vendor/libc/src/new/linux_uapi/linux/keyctl.rs (+69/-0)
rust-vendor/libc/src/new/linux_uapi/linux/mod.rs (+4/-2)
rust-vendor/libc/src/new/linux_uapi/mod.rs (+0/-1)
rust-vendor/libc/src/new/mod.rs (+212/-5)
rust-vendor/libc/src/new/musl/arch/generic/mod.rs (+7/-0)
rust-vendor/libc/src/new/musl/arch/mips/bits/socket.rs (+4/-0)
rust-vendor/libc/src/new/musl/arch/mips/mod.rs (+7/-0)
rust-vendor/libc/src/new/musl/arch/mips64/bits/socket.rs (+4/-0)
rust-vendor/libc/src/new/musl/arch/mips64/mod.rs (+7/-0)
rust-vendor/libc/src/new/musl/arch/mod.rs (+10/-0)
rust-vendor/libc/src/new/musl/mod.rs (+32/-0)
rust-vendor/libc/src/new/musl/pthread.rs (+62/-0)
rust-vendor/libc/src/new/musl/sys/socket.rs (+63/-0)
rust-vendor/libc/src/new/musl/unistd.rs (+7/-0)
rust-vendor/libc/src/new/netbsd/mod.rs (+14/-0)
rust-vendor/libc/src/new/netbsd/net/if_.rs (+96/-0)
rust-vendor/libc/src/new/netbsd/sys/ipc.rs (+17/-0)
rust-vendor/libc/src/new/netbsd/sys/mod.rs (+9/-0)
rust-vendor/libc/src/new/netbsd/sys/statvfs.rs (+47/-0)
rust-vendor/libc/src/new/netbsd/sys/time.rs (+13/-0)
rust-vendor/libc/src/new/netbsd/sys/timex.rs (+95/-0)
rust-vendor/libc/src/new/netbsd/sys/types.rs (+16/-0)
rust-vendor/libc/src/new/netbsd/unistd.rs (+7/-0)
rust-vendor/libc/src/new/netbsd/utmp_.rs (+33/-0)
rust-vendor/libc/src/new/netbsd/utmpx_.rs (+92/-0)
rust-vendor/libc/src/new/newlib/mod.rs (+4/-0)
rust-vendor/libc/src/new/newlib/unistd.rs (+159/-0)
rust-vendor/libc/src/new/nto/mod.rs (+4/-0)
rust-vendor/libc/src/new/nto/unistd.rs (+7/-0)
rust-vendor/libc/src/new/nuttx/mod.rs (+4/-0)
rust-vendor/libc/src/new/nuttx/unistd.rs (+7/-0)
rust-vendor/libc/src/new/openbsd/mod.rs (+7/-0)
rust-vendor/libc/src/new/openbsd/sys/ipc.rs (+17/-0)
rust-vendor/libc/src/new/openbsd/sys/mod.rs (+5/-0)
rust-vendor/libc/src/new/openbsd/unistd.rs (+7/-0)
rust-vendor/libc/src/new/redox/mod.rs (+3/-0)
rust-vendor/libc/src/new/relibc/mod.rs (+5/-0)
rust-vendor/libc/src/new/relibc/unistd.rs (+7/-0)
rust-vendor/libc/src/new/rtems/mod.rs (+2/-0)
rust-vendor/libc/src/new/sgx/mod.rs (+1/-0)
rust-vendor/libc/src/new/sgx/unistd.rs (+7/-0)
rust-vendor/libc/src/new/solaris/mod.rs (+5/-0)
rust-vendor/libc/src/new/solaris/unistd.rs (+7/-0)
rust-vendor/libc/src/new/solid/mod.rs (+2/-0)
rust-vendor/libc/src/new/teeos/mod.rs (+2/-0)
rust-vendor/libc/src/new/trusty/mod.rs (+2/-0)
rust-vendor/libc/src/new/uclibc/mod.rs (+7/-0)
rust-vendor/libc/src/new/uclibc/pthread.rs (+64/-0)
rust-vendor/libc/src/new/uclibc/unistd.rs (+7/-0)
rust-vendor/libc/src/new/ucrt/mod.rs (+4/-0)
rust-vendor/libc/src/new/vita/mod.rs (+4/-0)
rust-vendor/libc/src/new/vita/unistd.rs (+7/-0)
rust-vendor/libc/src/new/vxworks/mod.rs (+4/-0)
rust-vendor/libc/src/new/vxworks/unistd.rs (+7/-0)
rust-vendor/libc/src/new/wasi/mod.rs (+3/-0)
rust-vendor/libc/src/new/xous/mod.rs (+2/-0)
rust-vendor/libc/src/solid/mod.rs (+3/-15)
rust-vendor/libc/src/teeos/mod.rs (+63/-71)
rust-vendor/libc/src/types.rs (+20/-0)
rust-vendor/libc/src/unix/aix/mod.rs (+27/-37)
rust-vendor/libc/src/unix/aix/powerpc64.rs (+11/-61)
rust-vendor/libc/src/unix/bsd/apple/b32/mod.rs (+0/-62)
rust-vendor/libc/src/unix/bsd/apple/b64/aarch64/mod.rs (+0/-38)
rust-vendor/libc/src/unix/bsd/apple/b64/mod.rs (+0/-64)
rust-vendor/libc/src/unix/bsd/apple/b64/x86_64/mod.rs (+0/-102)
rust-vendor/libc/src/unix/bsd/apple/mod.rs (+46/-1120)
rust-vendor/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs (+15/-276)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/aarch64.rs (+1/-69)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/arm.rs (+1/-27)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs (+24/-32)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs (+23/-31)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs (+0/-119)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs (+2/-123)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs (+2/-123)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs (+2/-123)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs (+2/-123)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs (+78/-554)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/powerpc.rs (+1/-33)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs (+1/-33)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/riscv64.rs (+1/-73)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs (+1/-83)
rust-vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs (+17/-176)
rust-vendor/libc/src/unix/bsd/freebsdlike/mod.rs (+12/-50)
rust-vendor/libc/src/unix/bsd/mod.rs (+25/-83)
rust-vendor/libc/src/unix/bsd/netbsdlike/mod.rs (+6/-35)
rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs (+61/-625)
rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/riscv64.rs (+19/-4)
rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/x86_64.rs (+4/-1)
rust-vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs (+94/-279)
rust-vendor/libc/src/unix/bsd/netbsdlike/openbsd/x86_64.rs (+0/-44)
rust-vendor/libc/src/unix/cygwin/mod.rs (+74/-163)
rust-vendor/libc/src/unix/haiku/mod.rs (+14/-150)
rust-vendor/libc/src/unix/haiku/native.rs (+180/-178)
rust-vendor/libc/src/unix/haiku/x86_64.rs (+1/-151)
rust-vendor/libc/src/unix/hurd/mod.rs (+19/-79)
rust-vendor/libc/src/unix/linux_like/android/b32/arm.rs (+8/-46)
rust-vendor/libc/src/unix/linux_like/android/b32/mod.rs (+4/-4)
rust-vendor/libc/src/unix/linux_like/android/b32/x86/mod.rs (+7/-43)
rust-vendor/libc/src/unix/linux_like/android/b64/aarch64/mod.rs (+9/-9)
rust-vendor/libc/src/unix/linux_like/android/b64/mod.rs (+1/-75)
rust-vendor/libc/src/unix/linux_like/android/b64/riscv64/mod.rs (+8/-8)
rust-vendor/libc/src/unix/linux_like/android/b64/x86_64/mod.rs (+24/-152)
rust-vendor/libc/src/unix/linux_like/android/mod.rs (+45/-360)
rust-vendor/libc/src/unix/linux_like/emscripten/lfs64.rs (+4/-1)
rust-vendor/libc/src/unix/linux_like/emscripten/mod.rs (+17/-128)
rust-vendor/libc/src/unix/linux_like/linux/arch/generic/mod.rs (+1/-0)
rust-vendor/libc/src/unix/linux_like/linux/arch/mips/mod.rs (+1/-0)
rust-vendor/libc/src/unix/linux_like/linux/arch/powerpc/mod.rs (+1/-0)
rust-vendor/libc/src/unix/linux_like/linux/arch/sparc/mod.rs (+1/-0)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/arm/mod.rs (+19/-40)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/csky/mod.rs (+15/-12)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs (+27/-5)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/mips/mod.rs (+19/-16)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/mod.rs (+10/-10)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/powerpc.rs (+8/-5)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs (+11/-8)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs (+21/-18)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b32/x86/mod.rs (+22/-85)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs (+17/-14)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs (+14/-10)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs (+21/-17)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/mod.rs (+2/-2)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs (+99/-11)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs (+12/-9)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/s390x.rs (+15/-11)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs (+18/-14)
rust-vendor/libc/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs (+21/-87)
rust-vendor/libc/src/unix/linux_like/linux/gnu/mod.rs (+72/-174)
rust-vendor/libc/src/unix/linux_like/linux/mod.rs (+161/-564)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/arm/mod.rs (+14/-42)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/hexagon.rs (+11/-13)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/mips/mod.rs (+20/-24)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/mod.rs (+0/-16)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/powerpc.rs (+16/-19)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs (+17/-16)
rust-vendor/libc/src/unix/linux_like/linux/musl/b32/x86/mod.rs (+15/-88)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs (+9/-12)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs (+10/-10)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/mips64.rs (+13/-16)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs (+4/-32)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/powerpc64.rs (+7/-10)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs (+10/-10)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/s390x.rs (+29/-7)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/wasm32/mod.rs (+7/-10)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/wasm32/wali.rs (+144/-144)
rust-vendor/libc/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs (+11/-83)
rust-vendor/libc/src/unix/linux_like/linux/musl/lfs64.rs (+4/-1)
rust-vendor/libc/src/unix/linux_like/linux/musl/mod.rs (+27/-142)
rust-vendor/libc/src/unix/linux_like/linux/uclibc/arm/mod.rs (+18/-18)
rust-vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs (+17/-17)
rust-vendor/libc/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs (+16/-16)
rust-vendor/libc/src/unix/linux_like/linux/uclibc/mod.rs (+20/-27)
rust-vendor/libc/src/unix/linux_like/linux/uclibc/x86_64/mod.rs (+12/-12)
rust-vendor/libc/src/unix/linux_like/mod.rs (+37/-146)
rust-vendor/libc/src/unix/mod.rs (+89/-61)
rust-vendor/libc/src/unix/newlib/aarch64/mod.rs (+5/-1)
rust-vendor/libc/src/unix/newlib/arm/mod.rs (+5/-1)
rust-vendor/libc/src/unix/newlib/espidf/mod.rs (+5/-1)
rust-vendor/libc/src/unix/newlib/mod.rs (+2/-4)
rust-vendor/libc/src/unix/newlib/powerpc/mod.rs (+5/-1)
rust-vendor/libc/src/unix/newlib/vita/mod.rs (+1/-1)
rust-vendor/libc/src/unix/nto/mod.rs (+48/-265)
rust-vendor/libc/src/unix/nto/neutrino.rs (+3/-3)
rust-vendor/libc/src/unix/nto/x86_64.rs (+2/-2)
rust-vendor/libc/src/unix/nuttx/mod.rs (+14/-18)
rust-vendor/libc/src/unix/redox/mod.rs (+18/-136)
rust-vendor/libc/src/unix/solarish/compat.rs (+5/-1)
rust-vendor/libc/src/unix/solarish/illumos.rs (+9/-62)
rust-vendor/libc/src/unix/solarish/mod.rs (+55/-246)
rust-vendor/libc/src/unix/solarish/solaris.rs (+23/-58)
rust-vendor/libc/src/unix/solarish/x86_64.rs (+12/-28)
rust-vendor/libc/src/vxworks/mod.rs (+441/-39)
rust-vendor/libc/src/wasi/mod.rs (+114/-2)
rust-vendor/libc/src/windows/gnu/mod.rs (+0/-3)
rust-vendor/libc/src/windows/mod.rs (+10/-22)
rust-vendor/libc/src/windows/msvc/mod.rs (+0/-3)
rust-vendor/log/.cargo_vcs_info.json (+6/-0)
rust-vendor/log/.github/workflows/main.yml (+117/-0)
rust-vendor/log/CHANGELOG.md (+14/-1)
rust-vendor/log/Cargo.lock (+63/-50)
rust-vendor/log/Cargo.toml (+10/-9)
rust-vendor/log/Cargo.toml.orig (+76/-0)
rust-vendor/log/src/__private_api.rs (+1/-1)
rust-vendor/log/src/kv/key.rs (+9/-8)
rust-vendor/log/src/kv/mod.rs (+1/-1)
rust-vendor/log/src/kv/source.rs (+2/-1)
rust-vendor/log/src/kv/value.rs (+19/-18)
rust-vendor/log/src/lib.rs (+22/-17)
rust-vendor/log/src/serde.rs (+3/-3)
rust-vendor/memchr/.cargo_vcs_info.json (+6/-0)
rust-vendor/memchr/.ignore (+1/-0)
rust-vendor/memchr/.vim/coc-settings.json (+16/-0)
rust-vendor/memchr/Cargo.toml.orig (+78/-0)
rust-vendor/memoffset/.cargo_vcs_info.json (+6/-0)
rust-vendor/memoffset/.github/workflows/ci.yml (+72/-0)
rust-vendor/memoffset/Cargo.toml.orig (+22/-0)
rust-vendor/minreq/.cargo_vcs_info.json (+6/-0)
rust-vendor/minreq/.github/workflows/lint.yml (+31/-0)
rust-vendor/minreq/.github/workflows/msrv.yml (+34/-0)
rust-vendor/minreq/.github/workflows/unit-tests.yml (+71/-0)
rust-vendor/minreq/Cargo.toml.orig (+66/-0)
rust-vendor/native-tls/.cargo_vcs_info.json (+6/-0)
rust-vendor/native-tls/.github/dependabot.yml (+8/-0)
rust-vendor/native-tls/.github/workflows/ci.yml (+58/-0)
rust-vendor/native-tls/Cargo.toml.orig (+38/-0)
rust-vendor/once_cell/.cargo_vcs_info.json (+6/-0)
rust-vendor/once_cell/.github/workflows/ci.yaml (+28/-0)
rust-vendor/once_cell/Cargo.toml.orig (+92/-0)
rust-vendor/once_cell_polyfill/Cargo.toml (+1/-2)
rust-vendor/openssl-macros/.cargo_vcs_info.json (+6/-0)
rust-vendor/openssl-macros/Cargo.toml.orig (+14/-0)
rust-vendor/openssl-probe/.cargo_vcs_info.json (+6/-0)
rust-vendor/openssl-probe/.github/workflows/main.yml (+34/-0)
rust-vendor/openssl-probe/Cargo.toml.orig (+16/-0)
rust-vendor/openssl-sys/.cargo_vcs_info.json (+6/-0)
rust-vendor/openssl-sys/CHANGELOG.md (+9/-1)
rust-vendor/openssl-sys/Cargo.lock (+1/-1)
rust-vendor/openssl-sys/Cargo.toml (+1/-1)
rust-vendor/openssl-sys/Cargo.toml.orig (+39/-0)
rust-vendor/openssl-sys/build/main.rs (+1/-1)
rust-vendor/openssl-sys/src/handwritten/asn1.rs (+5/-0)
rust-vendor/openssl-sys/src/handwritten/evp.rs (+36/-0)
rust-vendor/openssl-sys/src/handwritten/types.rs (+5/-0)
rust-vendor/openssl-sys/src/macros.rs (+2/-2)
rust-vendor/openssl/.cargo_vcs_info.json (+6/-0)
rust-vendor/openssl/CHANGELOG.md (+20/-3)
rust-vendor/openssl/Cargo.lock (+3/-3)
rust-vendor/openssl/Cargo.toml (+2/-2)
rust-vendor/openssl/Cargo.toml.orig (+39/-0)
rust-vendor/openssl/src/asn1.rs (+29/-0)
rust-vendor/openssl/src/encrypt.rs (+4/-9)
rust-vendor/openssl/src/hash.rs (+1/-1)
rust-vendor/openssl/src/ocsp.rs (+85/-4)
rust-vendor/openssl/src/ossl_param.rs (+1/-1)
rust-vendor/openssl/src/pkey_ctx.rs (+4/-4)
rust-vendor/openssl/src/x509/verify.rs (+1/-1)
rust-vendor/os-release/Cargo.toml.orig (+13/-0)
rust-vendor/pkg-config/.cargo_vcs_info.json (+6/-0)
rust-vendor/pkg-config/.github/workflows/ci.yml (+41/-0)
rust-vendor/pkg-config/Cargo.toml.orig (+18/-0)
rust-vendor/pretty_assertions/.cargo_vcs_info.json (+6/-0)
rust-vendor/pretty_assertions/Cargo.toml.orig (+37/-0)
rust-vendor/proc-macro2/.cargo_vcs_info.json (+6/-0)
rust-vendor/proc-macro2/.github/FUNDING.yml (+1/-0)
rust-vendor/proc-macro2/.github/workflows/ci.yml (+232/-0)
rust-vendor/proc-macro2/Cargo.lock (+73/-130)
rust-vendor/proc-macro2/Cargo.toml (+3/-2)
rust-vendor/proc-macro2/Cargo.toml.orig (+67/-0)
rust-vendor/proc-macro2/README.md (+1/-1)
rust-vendor/proc-macro2/build.rs (+1/-1)
rust-vendor/proc-macro2/src/fallback.rs (+5/-5)
rust-vendor/proc-macro2/src/lib.rs (+148/-2)
rust-vendor/proc-macro2/src/num.rs (+17/-0)
rust-vendor/proc-macro2/src/rustc_literal_escaper.rs (+701/-0)
rust-vendor/pyo3-build-config/.cargo_vcs_info.json (+6/-0)
rust-vendor/pyo3-build-config/Cargo.lock (+12/-5)
rust-vendor/pyo3-build-config/Cargo.toml (+2/-1)
rust-vendor/pyo3-build-config/Cargo.toml.orig (+47/-0)
rust-vendor/pyo3-build-config/src/impl_.rs (+145/-55)
rust-vendor/pyo3-build-config/src/lib.rs (+144/-28)
rust-vendor/pyo3-ffi/.cargo_vcs_info.json (+6/-0)
rust-vendor/pyo3-ffi/Cargo.lock (+16/-9)
rust-vendor/pyo3-ffi/Cargo.toml (+6/-5)
rust-vendor/pyo3-ffi/Cargo.toml.orig (+58/-0)
rust-vendor/pyo3-ffi/README.md (+24/-15)
rust-vendor/pyo3-ffi/build.rs (+48/-40)
rust-vendor/pyo3-ffi/src/cpython/dictobject.rs (+18/-1)
rust-vendor/pyo3-ffi/src/cpython/mod.rs (+0/-2)
rust-vendor/pyo3-ffi/src/cpython/object.rs (+1/-3)
rust-vendor/pyo3-ffi/src/dictobject.rs (+1/-1)
rust-vendor/pyo3-ffi/src/lib.rs (+3/-3)
rust-vendor/pyo3-ffi/src/memoryobject.rs (+1/-1)
rust-vendor/pyo3-ffi/src/modsupport.rs (+2/-0)
rust-vendor/pyo3-ffi/src/object.rs (+14/-4)
rust-vendor/pyo3-ffi/src/pybuffer.rs (+1/-5)
rust-vendor/pyo3-ffi/src/pystate.rs (+1/-2)
rust-vendor/pyo3-ffi/src/sliceobject.rs (+1/-1)
rust-vendor/pyo3-macros-backend/.cargo_vcs_info.json (+6/-0)
rust-vendor/pyo3-macros-backend/Cargo.lock (+13/-13)
rust-vendor/pyo3-macros-backend/Cargo.toml (+4/-3)
rust-vendor/pyo3-macros-backend/Cargo.toml.orig (+37/-0)
rust-vendor/pyo3-macros-backend/src/attributes.rs (+3/-1)
rust-vendor/pyo3-macros-backend/src/frompyobject.rs (+9/-8)
rust-vendor/pyo3-macros-backend/src/intopyobject.rs (+104/-1)
rust-vendor/pyo3-macros-backend/src/introspection.rs (+57/-19)
rust-vendor/pyo3-macros-backend/src/lib.rs (+1/-1)
rust-vendor/pyo3-macros-backend/src/method.rs (+4/-4)
rust-vendor/pyo3-macros-backend/src/module.rs (+11/-6)
rust-vendor/pyo3-macros-backend/src/params.rs (+14/-39)
rust-vendor/pyo3-macros-backend/src/pyclass.rs (+127/-84)
rust-vendor/pyo3-macros-backend/src/pyfunction.rs (+6/-3)
rust-vendor/pyo3-macros-backend/src/pymethod.rs (+54/-30)
rust-vendor/pyo3-macros-backend/src/utils.rs (+0/-24)
rust-vendor/pyo3-macros/.cargo_vcs_info.json (+6/-0)
rust-vendor/pyo3-macros/Cargo.lock (+15/-15)
rust-vendor/pyo3-macros/Cargo.toml (+3/-2)
rust-vendor/pyo3-macros/Cargo.toml.orig (+29/-0)
rust-vendor/pyo3-macros/src/lib.rs (+1/-1)
rust-vendor/pyo3/.cargo_vcs_info.json (+6/-0)
rust-vendor/pyo3/.netlify/internal_banner.html (+47/-0)
rust-vendor/pyo3/.netlify/redirect.sh (+49/-0)
rust-vendor/pyo3/.towncrier.template.md (+14/-0)
rust-vendor/pyo3/Architecture.md (+1/-1)
rust-vendor/pyo3/CHANGELOG.md (+104/-11)
rust-vendor/pyo3/Cargo.lock (+176/-320)
rust-vendor/pyo3/Cargo.toml (+16/-7)
rust-vendor/pyo3/Cargo.toml.orig (+229/-0)
rust-vendor/pyo3/Contributing.md (+41/-32)
rust-vendor/pyo3/README.md (+15/-17)
rust-vendor/pyo3/emscripten/.gitignore (+1/-0)
rust-vendor/pyo3/guide/pyclass-parameters.md (+2/-0)
rust-vendor/pyo3/guide/src/building-and-distribution.md (+31/-22)
rust-vendor/pyo3/guide/src/building-and-distribution/multiple-python-versions.md (+0/-1)
rust-vendor/pyo3/guide/src/class.md (+35/-46)
rust-vendor/pyo3/guide/src/class/call.md (+4/-3)
rust-vendor/pyo3/guide/src/class/numeric.md (+10/-3)
rust-vendor/pyo3/guide/src/class/object.md (+10/-7)
rust-vendor/pyo3/guide/src/class/protocols.md (+105/-97)
rust-vendor/pyo3/guide/src/class/thread-safety.md (+1/-0)
rust-vendor/pyo3/guide/src/conversions/tables.md (+10/-9)
rust-vendor/pyo3/guide/src/conversions/traits.md (+70/-38)
rust-vendor/pyo3/guide/src/debugging.md (+70/-65)
rust-vendor/pyo3/guide/src/ecosystem/async-await.md (+1/-0)
rust-vendor/pyo3/guide/src/ecosystem/tracing.md (+5/-0)
rust-vendor/pyo3/guide/src/exception.md (+8/-12)
rust-vendor/pyo3/guide/src/faq.md (+34/-27)
rust-vendor/pyo3/guide/src/features.md (+17/-4)
rust-vendor/pyo3/guide/src/free-threading.md (+25/-29)
rust-vendor/pyo3/guide/src/function.md (+29/-63)
rust-vendor/pyo3/guide/src/function/error-handling.md (+4/-0)
rust-vendor/pyo3/guide/src/function/signature.md (+20/-9)
rust-vendor/pyo3/guide/src/getting-started.md (+6/-3)
rust-vendor/pyo3/guide/src/migration.md (+351/-41)
rust-vendor/pyo3/guide/src/module.md (+71/-74)
rust-vendor/pyo3/guide/src/parallelism.md (+15/-3)
rust-vendor/pyo3/guide/src/performance.md (+15/-3)
rust-vendor/pyo3/guide/src/python-from-rust.md (+21/-11)
rust-vendor/pyo3/guide/src/python-from-rust/calling-existing-code.md (+18/-16)
rust-vendor/pyo3/guide/src/python-from-rust/function-calls.md (+5/-5)
rust-vendor/pyo3/guide/src/python-typing-hints.md (+8/-8)
rust-vendor/pyo3/guide/src/trait-bounds.md (+8/-2)
rust-vendor/pyo3/guide/src/type-stub.md (+7/-3)
rust-vendor/pyo3/guide/src/types.md (+10/-10)
rust-vendor/pyo3/src/buffer.rs (+114/-74)
rust-vendor/pyo3/src/call.rs (+1/-1)
rust-vendor/pyo3/src/conversion.rs (+308/-111)
rust-vendor/pyo3/src/conversions/bigdecimal.rs (+5/-3)
rust-vendor/pyo3/src/conversions/bytes.rs (+9/-6)
rust-vendor/pyo3/src/conversions/chrono.rs (+120/-51)
rust-vendor/pyo3/src/conversions/chrono_tz.rs (+40/-3)
rust-vendor/pyo3/src/conversions/either.rs (+8/-6)
rust-vendor/pyo3/src/conversions/hashbrown.rs (+27/-14)
rust-vendor/pyo3/src/conversions/indexmap.rs (+14/-9)
rust-vendor/pyo3/src/conversions/jiff.rs (+96/-31)
rust-vendor/pyo3/src/conversions/mod.rs (+1/-1)
rust-vendor/pyo3/src/conversions/num_bigint.rs (+53/-47)
rust-vendor/pyo3/src/conversions/num_complex.rs (+6/-4)
rust-vendor/pyo3/src/conversions/num_rational.rs (+5/-3)
rust-vendor/pyo3/src/conversions/ordered_float.rs (+8/-5)
rust-vendor/pyo3/src/conversions/rust_decimal.rs (+5/-3)
rust-vendor/pyo3/src/conversions/smallvec.rs (+14/-11)
rust-vendor/pyo3/src/conversions/std/array.rs (+66/-14)
rust-vendor/pyo3/src/conversions/std/cell.rs (+5/-6)
rust-vendor/pyo3/src/conversions/std/cstring.rs (+188/-0)
rust-vendor/pyo3/src/conversions/std/ipaddr.rs (+5/-4)
rust-vendor/pyo3/src/conversions/std/map.rs (+28/-18)
rust-vendor/pyo3/src/conversions/std/mod.rs (+2/-1)
rust-vendor/pyo3/src/conversions/std/num.rs (+163/-62)
rust-vendor/pyo3/src/conversions/std/option.rs (+7/-5)
rust-vendor/pyo3/src/conversions/std/osstr.rs (+96/-10)
rust-vendor/pyo3/src/conversions/std/path.rs (+63/-10)
rust-vendor/pyo3/src/conversions/std/set.rs (+28/-13)
rust-vendor/pyo3/src/conversions/std/slice.rs (+9/-5)
rust-vendor/pyo3/src/conversions/std/string.rs (+18/-12)
rust-vendor/pyo3/src/conversions/std/time.rs (+8/-4)
rust-vendor/pyo3/src/conversions/std/vec.rs (+110/-2)
rust-vendor/pyo3/src/conversions/time.rs (+32/-18)
rust-vendor/pyo3/src/conversions/uuid.rs (+5/-3)
rust-vendor/pyo3/src/err/cast_error.rs (+239/-0)
rust-vendor/pyo3/src/err/downcast_error.rs (+183/-0)
rust-vendor/pyo3/src/err/err_state.rs (+1/-1)
rust-vendor/pyo3/src/err/mod.rs (+43/-135)
rust-vendor/pyo3/src/exceptions.rs (+7/-47)
rust-vendor/pyo3/src/ffi/tests.rs (+0/-1)
rust-vendor/pyo3/src/impl_/extract_argument.rs (+102/-55)
rust-vendor/pyo3/src/impl_/frompyobject.rs (+8/-8)
rust-vendor/pyo3/src/impl_/introspection.rs (+6/-0)
rust-vendor/pyo3/src/impl_/pyclass.rs (+5/-3)
rust-vendor/pyo3/src/impl_/pyclass/probes.rs (+6/-3)
rust-vendor/pyo3/src/impl_/pyfunction.rs (+122/-12)
rust-vendor/pyo3/src/impl_/pymethods.rs (+26/-37)
rust-vendor/pyo3/src/impl_/pymodule.rs (+8/-5)
rust-vendor/pyo3/src/inspect/types.rs (+1/-1)
rust-vendor/pyo3/src/instance.rs (+372/-186)
rust-vendor/pyo3/src/internal/state.rs (+15/-31)
rust-vendor/pyo3/src/internal_tricks.rs (+0/-12)
rust-vendor/pyo3/src/lib.rs (+7/-5)
rust-vendor/pyo3/src/marker.rs (+14/-5)
rust-vendor/pyo3/src/prelude.rs (+1/-1)
rust-vendor/pyo3/src/pybacked.rs (+22/-7)
rust-vendor/pyo3/src/pycell.rs (+39/-24)
rust-vendor/pyo3/src/pyclass.rs (+3/-1)
rust-vendor/pyo3/src/pyclass/create_type_object.rs (+9/-10)
rust-vendor/pyo3/src/pyclass/guard.rs (+103/-22)
rust-vendor/pyo3/src/pyclass_init.rs (+1/-1)
rust-vendor/pyo3/src/sealed.rs (+2/-0)
rust-vendor/pyo3/src/sync.rs (+417/-5)
rust-vendor/pyo3/src/sync/once_lock.rs (+1/-4)
rust-vendor/pyo3/src/tests/hygiene/pyclass.rs (+6/-0)
rust-vendor/pyo3/src/type_object.rs (+27/-3)
rust-vendor/pyo3/src/types/any.rs (+52/-19)
rust-vendor/pyo3/src/types/boolobject.rs (+10/-8)
rust-vendor/pyo3/src/types/bytearray.rs (+1/-1)
rust-vendor/pyo3/src/types/bytes.rs (+27/-0)
rust-vendor/pyo3/src/types/capsule.rs (+271/-94)
rust-vendor/pyo3/src/types/code.rs (+10/-19)
rust-vendor/pyo3/src/types/complex.rs (+0/-2)
rust-vendor/pyo3/src/types/datetime.rs (+94/-187)
rust-vendor/pyo3/src/types/dict.rs (+7/-1)
rust-vendor/pyo3/src/types/ellipsis.rs (+6/-1)
rust-vendor/pyo3/src/types/float.rs (+10/-8)
rust-vendor/pyo3/src/types/function.rs (+23/-40)
rust-vendor/pyo3/src/types/iterator.rs (+35/-18)
rust-vendor/pyo3/src/types/list.rs (+14/-8)
rust-vendor/pyo3/src/types/mapping.rs (+39/-28)
rust-vendor/pyo3/src/types/mod.rs (+21/-3)
rust-vendor/pyo3/src/types/mutex.rs (+1/-1)
rust-vendor/pyo3/src/types/none.rs (+6/-1)
rust-vendor/pyo3/src/types/notimplemented.rs (+2/-1)
rust-vendor/pyo3/src/types/sequence.rs (+43/-122)
rust-vendor/pyo3/src/types/set.rs (+1/-1)
rust-vendor/pyo3/src/types/string.rs (+28/-0)
rust-vendor/pyo3/src/types/tuple.rs (+22/-10)
rust-vendor/pyo3/src/types/weakref/anyref.rs (+81/-17)
rust-vendor/pyo3/src/types/weakref/proxy.rs (+54/-6)
rust-vendor/pyo3/src/types/weakref/reference.rs (+34/-18)
rust-vendor/pyo3/src/version.rs (+7/-7)
rust-vendor/quote/.cargo_vcs_info.json (+6/-0)
rust-vendor/quote/.github/FUNDING.yml (+1/-0)
rust-vendor/quote/.github/workflows/ci.yml (+112/-0)
rust-vendor/quote/Cargo.lock (+31/-31)
rust-vendor/quote/Cargo.toml (+2/-2)
rust-vendor/quote/Cargo.toml.orig (+39/-0)
rust-vendor/quote/README.md (+1/-1)
rust-vendor/quote/build.rs (+2/-3)
rust-vendor/quote/src/ext.rs (+35/-9)
rust-vendor/quote/src/lib.rs (+2/-1)
rust-vendor/quote/src/runtime.rs (+19/-19)
rust-vendor/quote/src/spanned.rs (+2/-3)
rust-vendor/rustversion/.cargo_vcs_info.json (+6/-0)
rust-vendor/rustversion/.github/FUNDING.yml (+1/-0)
rust-vendor/rustversion/.github/workflows/ci.yml (+117/-0)
rust-vendor/rustversion/Cargo.lock (+296/-0)
rust-vendor/rustversion/Cargo.toml (+68/-0)
rust-vendor/rustversion/Cargo.toml.orig (+28/-0)
rust-vendor/rustversion/LICENSE-APACHE (+176/-0)
rust-vendor/rustversion/LICENSE-MIT (+23/-0)
rust-vendor/rustversion/README.md (+167/-0)
rust-vendor/rustversion/build/build.rs (+114/-0)
rust-vendor/rustversion/build/rustc.rs (+126/-0)
rust-vendor/rustversion/src/attr.rs (+35/-0)
rust-vendor/rustversion/src/bound.rs (+63/-0)
rust-vendor/rustversion/src/constfn.rs (+58/-0)
rust-vendor/rustversion/src/date.rs (+50/-0)
rust-vendor/rustversion/src/error.rs (+56/-0)
rust-vendor/rustversion/src/expand.rs (+100/-0)
rust-vendor/rustversion/src/expr.rs (+163/-0)
rust-vendor/rustversion/src/iter.rs (+42/-0)
rust-vendor/rustversion/src/lib.rs (+282/-0)
rust-vendor/rustversion/src/release.rs (+34/-0)
rust-vendor/rustversion/src/time.rs (+51/-0)
rust-vendor/rustversion/src/token.rs (+78/-0)
rust-vendor/rustversion/src/version.rs (+18/-0)
rust-vendor/ryu/.cargo_vcs_info.json (+6/-0)
rust-vendor/ryu/.github/FUNDING.yml (+1/-0)
rust-vendor/ryu/.github/workflows/ci.yml (+120/-0)
rust-vendor/ryu/Cargo.toml.orig (+37/-0)
rust-vendor/serde/.cargo_vcs_info.json (+6/-0)
rust-vendor/serde/Cargo.toml.orig (+62/-0)
rust-vendor/serde_core/.cargo_vcs_info.json (+6/-0)
rust-vendor/serde_core/Cargo.toml.orig (+70/-0)
rust-vendor/serde_derive/.cargo_vcs_info.json (+6/-0)
rust-vendor/serde_derive/Cargo.toml.orig (+42/-0)
rust-vendor/serde_json/.cargo_vcs_info.json (+6/-0)
rust-vendor/serde_json/.github/workflows/ci.yml (+157/-0)
rust-vendor/serde_json/Cargo.toml.orig (+94/-0)
rust-vendor/shlex/.cargo_vcs_info.json (+6/-0)
rust-vendor/shlex/.github/workflows/test.yml (+36/-0)
rust-vendor/shlex/Cargo.toml.orig (+23/-0)
rust-vendor/simple_test_case/.cargo_vcs_info.json (+6/-0)
rust-vendor/simple_test_case/Cargo.toml.orig (+26/-0)
rust-vendor/smbios-lib/.cargo/config.toml (+3/-0)
rust-vendor/smbios-lib/.cargo_vcs_info.json (+6/-0)
rust-vendor/smbios-lib/.devcontainer/devcontainer.json (+32/-0)
rust-vendor/smbios-lib/.github/workflows/smbios_ci.yml (+26/-0)
rust-vendor/smbios-lib/Cargo.toml.orig (+37/-0)
rust-vendor/strsim/.cargo_vcs_info.json (+6/-0)
rust-vendor/strsim/.editorconfig (+13/-0)
rust-vendor/strsim/Cargo.toml.orig (+17/-0)
rust-vendor/syn/.cargo_vcs_info.json (+6/-0)
rust-vendor/syn/Cargo.lock (+257/-301)
rust-vendor/syn/Cargo.toml (+7/-6)
rust-vendor/syn/Cargo.toml.orig (+95/-0)
rust-vendor/syn/README.md (+0/-2)
rust-vendor/syn/src/attr.rs (+1/-1)
rust-vendor/syn/src/buffer.rs (+4/-3)
rust-vendor/syn/src/custom_punctuation.rs (+2/-1)
rust-vendor/syn/src/data.rs (+1/-1)
rust-vendor/syn/src/error.rs (+46/-45)
rust-vendor/syn/src/expr.rs (+1/-1)
rust-vendor/syn/src/ext.rs (+44/-1)
rust-vendor/syn/src/file.rs (+1/-1)
rust-vendor/syn/src/generics.rs (+1/-1)
rust-vendor/syn/src/group.rs (+3/-0)
rust-vendor/syn/src/item.rs (+1/-1)
rust-vendor/syn/src/lib.rs (+2/-4)
rust-vendor/syn/src/lifetime.rs (+3/-4)
rust-vendor/syn/src/lit.rs (+188/-130)
rust-vendor/syn/src/lookahead.rs (+18/-2)
rust-vendor/syn/src/pat.rs (+1/-1)
rust-vendor/syn/src/punctuated.rs (+25/-11)
rust-vendor/syn/src/scan_expr.rs (+4/-1)
rust-vendor/syn/src/stmt.rs (+1/-1)
rust-vendor/syn/src/token.rs (+7/-10)
rust-vendor/syn/src/tt.rs (+18/-29)
rust-vendor/syn/src/ty.rs (+2/-2)
rust-vendor/syn/src/verbatim.rs (+2/-2)
rust-vendor/target-lexicon/.cargo_vcs_info.json (+6/-0)
rust-vendor/target-lexicon/.github/actions/install-rust/README.md (+18/-0)
rust-vendor/target-lexicon/.github/actions/install-rust/action.yml (+12/-0)
rust-vendor/target-lexicon/.github/actions/install-rust/main.js (+39/-0)
rust-vendor/target-lexicon/.github/workflows/main.yml (+94/-0)
rust-vendor/target-lexicon/Cargo.toml.orig (+30/-0)
rust-vendor/unicode-ident/.cargo_vcs_info.json (+6/-0)
rust-vendor/unicode-ident/.github/FUNDING.yml (+1/-0)
rust-vendor/unicode-ident/.github/workflows/ci.yml (+110/-0)
rust-vendor/unicode-ident/Cargo.lock (+175/-172)
rust-vendor/unicode-ident/Cargo.toml (+2/-1)
rust-vendor/unicode-ident/Cargo.toml.orig (+40/-0)
rust-vendor/unicode-ident/README.md (+17/-25)
rust-vendor/unicode-ident/src/lib.rs (+23/-13)
rust-vendor/unicode-ident/src/tables.rs (+3/-15)
rust-vendor/unicode-width/.cargo_vcs_info.json (+6/-0)
rust-vendor/unicode-width/Cargo.toml.orig (+40/-0)
rust-vendor/unindent/.cargo_vcs_info.json (+6/-0)
rust-vendor/unindent/Cargo.toml.orig (+20/-0)
rust-vendor/utf8parse/.cargo_vcs_info.json (+6/-0)
rust-vendor/utf8parse/Cargo.toml.orig (+15/-0)
rust-vendor/vcpkg/.cargo_vcs_info.json (+5/-0)
rust-vendor/vcpkg/.github/workflows/linux.yml (+26/-0)
rust-vendor/vcpkg/.github/workflows/macos.yml (+23/-0)
rust-vendor/vcpkg/.github/workflows/rust-1.12.yml (+41/-0)
rust-vendor/vcpkg/.github/workflows/windows.yml (+102/-0)
rust-vendor/vcpkg/.gitlab-ci.yml (+67/-0)
rust-vendor/vcpkg/Cargo.toml.orig (+21/-0)
rust-vendor/yansi/.cargo_vcs_info.json (+6/-0)
rust-vendor/yansi/.github/workflows/ci.yml (+41/-0)
rust-vendor/yansi/.github/yansi-example.svg (+1/-0)
rust-vendor/yansi/Cargo.toml.orig (+31/-0)
src/models/response_validators.rs (+3/-0)
test_data/amd64/dell_xps13/response.json (+1/-0)
test_data/amd64/dgx_station/response.json (+1/-0)
test_data/amd64/thinkstation_p620/response.json (+1/-0)
Reviewer Review Type Date Requested Status
Lukas Märdian (community) Approve
Review via email: mp+497715@code.launchpad.net

Description of the change

Package new upstream release (0.11.0)

PPA: https://launchpad.net/~nadzeya/+archive/ubuntu/hwlib-ppa/+packages
Autopkgtests results:
  - rust-hwlib: resolute/rust-hwlib/0.11.0-0ubuntu1~ppa1 [amd64]
    + ✅ rust-hwlib on resolute for amd64 @ 06.01.26 19:47:13
      • Log: https://autopkgtest.ubuntu.com/results/autopkgtest-resolute-nadzeya-hwlib-ppa/resolute/amd64/r/rust-hwlib/20260106_194713_e6f40@/log.gz

To post a comment you must log in.
Revision history for this message
Lukas Märdian (slyon) wrote :

Thanks Nadzeya for preparing a PPA build and running the tests against it!

My observations:
* diff is looking clean: $ git diff ..nadzeya/devel-0.11.0 -- :^rust-vendor
* changelog, version & target series looking good
* minor- & patch-version bumps in vendored dependencies (as expected)
* introducing one new vendored dep: "rustversion" (OK and listed in XS-Vendored-Sources-Rust)
* nice cleanup & refactoring in d/rules and d/watch (kudos!)

=> Why don't we need CARGO_PROFILE_RELEASE_DEBUG=1 anymore? I cannot spot the "debug-file-with-no-debug-symbols" lintian warning anymore, so it seems to be unneeded. (OK)
=> What about dh_auto_test ... dropping "--offline"? – We cannot run online-tests in the LP build infrastructure. The build passes locally in sbuild and in the PPA, so it seems to be fine. But not using --offline might change behavior slightly, and I wonder if that is intended?

Overall this is looking good! +1 for getting it sponsored.
Feel free to elaborate on the two questions above, still.

review: Approve
Revision history for this message
Nadzeya Hutsko (nadzeya) wrote :

> => What about dh_auto_test ... dropping "--offline"? – We cannot run online-tests in the LP build infrastructure. The build passes locally in sbuild and in the PPA, so it seems to be fine. But not using --offline might change behavior slightly, and I wonder if that is intended?

I've checked that other packages like sudo-rs don't have the --offline flag as well: https://git.launchpad.net/ubuntu/+source/rust-sudo-rs/tree/debian/rules#n36
(or in threecpio: https://git.launchpad.net/ubuntu/+source/rust-threecpio/tree/debian/rules#n17)
Looks like cargo takes the dependencies from the registry (vendor dir in our case) instead of downloading them from crates.io

Revision history for this message
Lukas Märdian (slyon) wrote :

Thanks for elaborating. I agree that cargo likely does the correct thing implicitly (but that might change without us knowing). But given we have other cases (sudo-rs and threecpio) there's benefit of keeping it similar. So, let's get this sponsored.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
2index 8bcca92..516a2c6 100644
3--- a/.cargo_vcs_info.json
4+++ b/.cargo_vcs_info.json
5@@ -1,6 +1,6 @@
6 {
7 "git": {
8- "sha1": "1f0e101dd7104b6a0bc088ad892467d9aa6daeb4"
9+ "sha1": "643886a4a7ebe9ad6f82115b8615a4ef213abd28"
10 },
11 "path_in_vcs": "client"
12 }
13\ No newline at end of file
14diff --git a/.gitignore b/.gitignore
15index 2593088..f3d5d01 100644
16--- a/.gitignore
17+++ b/.gitignore
18@@ -2,8 +2,6 @@ target
19 cargo_home
20 .cargo-checksum.json
21 __pycache__/
22-
23-# In a workspace, packages should share the same Cargo.lock file.
24-# See https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html for more
25-hwlib/Cargo.lock
26-hwctl/Cargo.lock
27+*.profraw
28+*.profdata
29+coverage*
30diff --git a/Cargo.lock b/Cargo.lock
31index 1497bd8..c7996e5 100644
32--- a/Cargo.lock
33+++ b/Cargo.lock
34@@ -34,22 +34,22 @@ dependencies = [
35
36 [[package]]
37 name = "anstyle-query"
38-version = "1.1.4"
39+version = "1.1.5"
40 source = "registry+https://github.com/rust-lang/crates.io-index"
41-checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"
42+checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
43 dependencies = [
44- "windows-sys 0.60.2",
45+ "windows-sys",
46 ]
47
48 [[package]]
49 name = "anstyle-wincon"
50-version = "3.0.10"
51+version = "3.0.11"
52 source = "registry+https://github.com/rust-lang/crates.io-index"
53-checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"
54+checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
55 dependencies = [
56 "anstyle",
57 "once_cell_polyfill",
58- "windows-sys 0.60.2",
59+ "windows-sys",
60 ]
61
62 [[package]]
63@@ -66,15 +66,15 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
64
65 [[package]]
66 name = "bitflags"
67-version = "2.9.4"
68+version = "2.10.0"
69 source = "registry+https://github.com/rust-lang/crates.io-index"
70-checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
71+checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
72
73 [[package]]
74 name = "cc"
75-version = "1.2.41"
76+version = "1.2.49"
77 source = "registry+https://github.com/rust-lang/crates.io-index"
78-checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"
79+checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215"
80 dependencies = [
81 "find-msvc-tools",
82 "shlex",
83@@ -88,9 +88,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
84
85 [[package]]
86 name = "clap"
87-version = "4.5.49"
88+version = "4.5.53"
89 source = "registry+https://github.com/rust-lang/crates.io-index"
90-checksum = "f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f"
91+checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8"
92 dependencies = [
93 "clap_builder",
94 "clap_derive",
95@@ -98,9 +98,9 @@ dependencies = [
96
97 [[package]]
98 name = "clap_builder"
99-version = "4.5.49"
100+version = "4.5.53"
101 source = "registry+https://github.com/rust-lang/crates.io-index"
102-checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730"
103+checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
104 dependencies = [
105 "anstream",
106 "anstyle",
107@@ -171,7 +171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
108 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
109 dependencies = [
110 "libc",
111- "windows-sys 0.61.2",
112+ "windows-sys",
113 ]
114
115 [[package]]
116@@ -182,9 +182,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
117
118 [[package]]
119 name = "find-msvc-tools"
120-version = "0.1.4"
121+version = "0.1.5"
122 source = "registry+https://github.com/rust-lang/crates.io-index"
123-checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127"
124+checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
125
126 [[package]]
127 name = "foreign-types"
128@@ -230,7 +230,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
129
130 [[package]]
131 name = "hwlib"
132-version = "0.10.1"
133+version = "0.11.0"
134 dependencies = [
135 "anyhow",
136 "clap",
137@@ -246,9 +246,12 @@ dependencies = [
138
139 [[package]]
140 name = "indoc"
141-version = "2.0.6"
142+version = "2.0.7"
143 source = "registry+https://github.com/rust-lang/crates.io-index"
144-checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
145+checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
146+dependencies = [
147+ "rustversion",
148+]
149
150 [[package]]
151 name = "io-kit-sys"
152@@ -262,9 +265,9 @@ dependencies = [
153
154 [[package]]
155 name = "is_terminal_polyfill"
156-version = "1.70.1"
157+version = "1.70.2"
158 source = "registry+https://github.com/rust-lang/crates.io-index"
159-checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
160+checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
161
162 [[package]]
163 name = "itoa"
164@@ -280,9 +283,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
165
166 [[package]]
167 name = "libc"
168-version = "0.2.177"
169+version = "0.2.178"
170 source = "registry+https://github.com/rust-lang/crates.io-index"
171-checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
172+checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
173
174 [[package]]
175 name = "linux-raw-sys"
176@@ -292,9 +295,9 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
177
178 [[package]]
179 name = "log"
180-version = "0.4.28"
181+version = "0.4.29"
182 source = "registry+https://github.com/rust-lang/crates.io-index"
183-checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
184+checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
185
186 [[package]]
187 name = "mach2"
188@@ -356,15 +359,15 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
189
190 [[package]]
191 name = "once_cell_polyfill"
192-version = "1.70.1"
193+version = "1.70.2"
194 source = "registry+https://github.com/rust-lang/crates.io-index"
195-checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
196+checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
197
198 [[package]]
199 name = "openssl"
200-version = "0.10.74"
201+version = "0.10.75"
202 source = "registry+https://github.com/rust-lang/crates.io-index"
203-checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654"
204+checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328"
205 dependencies = [
206 "bitflags",
207 "cfg-if",
208@@ -394,9 +397,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
209
210 [[package]]
211 name = "openssl-sys"
212-version = "0.9.110"
213+version = "0.9.111"
214 source = "registry+https://github.com/rust-lang/crates.io-index"
215-checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2"
216+checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321"
217 dependencies = [
218 "cc",
219 "libc",
220@@ -437,18 +440,18 @@ dependencies = [
221
222 [[package]]
223 name = "proc-macro2"
224-version = "1.0.101"
225+version = "1.0.103"
226 source = "registry+https://github.com/rust-lang/crates.io-index"
227-checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
228+checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
229 dependencies = [
230 "unicode-ident",
231 ]
232
233 [[package]]
234 name = "pyo3"
235-version = "0.26.0"
236+version = "0.27.2"
237 source = "registry+https://github.com/rust-lang/crates.io-index"
238-checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
239+checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
240 dependencies = [
241 "indoc",
242 "libc",
243@@ -463,18 +466,18 @@ dependencies = [
244
245 [[package]]
246 name = "pyo3-build-config"
247-version = "0.26.0"
248+version = "0.27.2"
249 source = "registry+https://github.com/rust-lang/crates.io-index"
250-checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
251+checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
252 dependencies = [
253 "target-lexicon",
254 ]
255
256 [[package]]
257 name = "pyo3-ffi"
258-version = "0.26.0"
259+version = "0.27.2"
260 source = "registry+https://github.com/rust-lang/crates.io-index"
261-checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
262+checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
263 dependencies = [
264 "libc",
265 "pyo3-build-config",
266@@ -482,9 +485,9 @@ dependencies = [
267
268 [[package]]
269 name = "pyo3-macros"
270-version = "0.26.0"
271+version = "0.27.2"
272 source = "registry+https://github.com/rust-lang/crates.io-index"
273-checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
274+checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
275 dependencies = [
276 "proc-macro2",
277 "pyo3-macros-backend",
278@@ -494,9 +497,9 @@ dependencies = [
279
280 [[package]]
281 name = "pyo3-macros-backend"
282-version = "0.26.0"
283+version = "0.27.2"
284 source = "registry+https://github.com/rust-lang/crates.io-index"
285-checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
286+checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
287 dependencies = [
288 "heck",
289 "proc-macro2",
290@@ -507,9 +510,9 @@ dependencies = [
291
292 [[package]]
293 name = "quote"
294-version = "1.0.41"
295+version = "1.0.42"
296 source = "registry+https://github.com/rust-lang/crates.io-index"
297-checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
298+checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
299 dependencies = [
300 "proc-macro2",
301 ]
302@@ -530,10 +533,16 @@ dependencies = [
303 "errno",
304 "libc",
305 "linux-raw-sys",
306- "windows-sys 0.61.2",
307+ "windows-sys",
308 ]
309
310 [[package]]
311+name = "rustversion"
312+version = "1.0.22"
313+source = "registry+https://github.com/rust-lang/crates.io-index"
314+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
315+
316+[[package]]
317 name = "ryu"
318 version = "1.0.20"
319 source = "registry+https://github.com/rust-lang/crates.io-index"
320@@ -545,7 +554,7 @@ version = "0.1.28"
321 source = "registry+https://github.com/rust-lang/crates.io-index"
322 checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1"
323 dependencies = [
324- "windows-sys 0.61.2",
325+ "windows-sys",
326 ]
327
328 [[package]]
329@@ -655,9 +664,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
330
331 [[package]]
332 name = "syn"
333-version = "2.0.106"
334+version = "2.0.111"
335 source = "registry+https://github.com/rust-lang/crates.io-index"
336-checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
337+checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
338 dependencies = [
339 "proc-macro2",
340 "quote",
341@@ -680,14 +689,14 @@ dependencies = [
342 "getrandom",
343 "once_cell",
344 "rustix",
345- "windows-sys 0.61.2",
346+ "windows-sys",
347 ]
348
349 [[package]]
350 name = "unicode-ident"
351-version = "1.0.19"
352+version = "1.0.22"
353 source = "registry+https://github.com/rust-lang/crates.io-index"
354-checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
355+checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
356
357 [[package]]
358 name = "unicode-width"
359@@ -730,15 +739,6 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
360
361 [[package]]
362 name = "windows-sys"
363-version = "0.60.2"
364-source = "registry+https://github.com/rust-lang/crates.io-index"
365-checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
366-dependencies = [
367- "windows-targets",
368-]
369-
370-[[package]]
371-name = "windows-sys"
372 version = "0.61.2"
373 source = "registry+https://github.com/rust-lang/crates.io-index"
374 checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
375@@ -747,71 +747,6 @@ dependencies = [
376 ]
377
378 [[package]]
379-name = "windows-targets"
380-version = "0.53.5"
381-source = "registry+https://github.com/rust-lang/crates.io-index"
382-checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
383-dependencies = [
384- "windows-link",
385- "windows_aarch64_gnullvm",
386- "windows_aarch64_msvc",
387- "windows_i686_gnu",
388- "windows_i686_gnullvm",
389- "windows_i686_msvc",
390- "windows_x86_64_gnu",
391- "windows_x86_64_gnullvm",
392- "windows_x86_64_msvc",
393-]
394-
395-[[package]]
396-name = "windows_aarch64_gnullvm"
397-version = "0.53.1"
398-source = "registry+https://github.com/rust-lang/crates.io-index"
399-checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
400-
401-[[package]]
402-name = "windows_aarch64_msvc"
403-version = "0.53.1"
404-source = "registry+https://github.com/rust-lang/crates.io-index"
405-checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
406-
407-[[package]]
408-name = "windows_i686_gnu"
409-version = "0.53.1"
410-source = "registry+https://github.com/rust-lang/crates.io-index"
411-checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
412-
413-[[package]]
414-name = "windows_i686_gnullvm"
415-version = "0.53.1"
416-source = "registry+https://github.com/rust-lang/crates.io-index"
417-checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
418-
419-[[package]]
420-name = "windows_i686_msvc"
421-version = "0.53.1"
422-source = "registry+https://github.com/rust-lang/crates.io-index"
423-checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
424-
425-[[package]]
426-name = "windows_x86_64_gnu"
427-version = "0.53.1"
428-source = "registry+https://github.com/rust-lang/crates.io-index"
429-checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
430-
431-[[package]]
432-name = "windows_x86_64_gnullvm"
433-version = "0.53.1"
434-source = "registry+https://github.com/rust-lang/crates.io-index"
435-checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
436-
437-[[package]]
438-name = "windows_x86_64_msvc"
439-version = "0.53.1"
440-source = "registry+https://github.com/rust-lang/crates.io-index"
441-checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
442-
443-[[package]]
444 name = "wit-bindgen"
445 version = "0.46.0"
446 source = "registry+https://github.com/rust-lang/crates.io-index"
447diff --git a/Cargo.toml b/Cargo.toml
448index 5954baa..896b67b 100644
449--- a/Cargo.toml
450+++ b/Cargo.toml
451@@ -12,7 +12,7 @@
452 [package]
453 edition = "2021"
454 name = "hwlib"
455-version = "0.10.1"
456+version = "0.11.0"
457 authors = [
458 "Canonical Hardware Certification <canonical-hw-cert@lists.launchpad.net>",
459 "Nadzeya Hutsko <nadzeya.hutsko@canonical.com>",
460@@ -70,7 +70,7 @@ default-features = false
461 version = "0.1.0"
462
463 [dependencies.pyo3]
464-version = "0.26.0"
465+version = "0.27.0"
466 features = ["extension-module"]
467 optional = true
468
469diff --git a/Cargo.toml.orig b/Cargo.toml.orig
470index ba3a7c4..64d25f5 100644
471--- a/Cargo.toml.orig
472+++ b/Cargo.toml.orig
473@@ -1,7 +1,7 @@
474 [package]
475 name = "hwlib"
476 description = "Tool for checking Ubuntu hardware certification status"
477-version = "0.10.1"
478+version = "0.11.0"
479 edition = "2021"
480 authors = [
481 "Canonical Hardware Certification <canonical-hw-cert@lists.launchpad.net>",
482@@ -25,9 +25,12 @@ features = ["cli"]
483 [dependencies]
484 anyhow = "~1.0.0"
485 clap = { version = "4.5.41", features = ["derive", "env"], optional = true }
486-minreq = { version = "2.14.0", features = ["native-tls", "json-using-serde"], default-features = false }
487+minreq = { version = "2.14.0", features = [
488+ "native-tls",
489+ "json-using-serde",
490+], default-features = false }
491 os-release = { version = "0.1.0" }
492-pyo3 = { version = "0.26.0", features = ["extension-module"], optional = true }
493+pyo3 = { version = "0.27.0", features = ["extension-module"], optional = true }
494 serde = { version = "~1.0.0", features = ["derive"] }
495 serde_json = "~1.0.0"
496 smbios-lib = "0.9.0"
497diff --git a/README.md b/README.md
498index 6c1bc8c..c696bdb 100644
499--- a/README.md
500+++ b/README.md
501@@ -1,7 +1,10 @@
502 # Hardware API Client
503
504 [![Snapcraft][snapcraft-badge]][snapcraft-site]
505+[![Crates.io][crate-badge]][crate-site]
506+[![Documentation status][rtd-badge]][rtd-latest]
507 [![Test client lib and CLI tool][test-badge]][test-site]
508+[![codecov][cov-badge]][cov-latest]
509
510 The **Hardware API Client** is the tool to check the certification status of
511 hardware configurations.
512@@ -58,7 +61,7 @@ If you're interested, start with the
513
514 ## License and Copyright
515
516-The Hardware API Client is released under the under the [LGPL-3.0 license](./LICENSE)
517+The Hardware API Client is released under the [LGPL-3.0 license](./LICENSE)
518
519 © 2025 Canonical Ltd.
520
521@@ -68,7 +71,13 @@ The Hardware API Client is released under the under the [LGPL-3.0 license](./LIC
522
523 [snapcraft-badge]: https://snapcraft.io/hwctl/badge.svg
524 [snapcraft-site]: https://snapcraft.io/hwctl
525+[crate-badge]: https://img.shields.io/crates/v/hwlib.svg
526+[crate-site]: https://crates.io/crates/hwlib
527+[rtd-badge]: https://readthedocs.com/projects/canonical-hardware-api/badge/?version=latest
528+[rtd-latest]: https://canonical-hardware-api.readthedocs-hosted.com/latest/
529 [test-badge]: https://github.com/canonical/hardware-api/actions/workflows/test_client.yaml/badge.svg
530 [test-site]: https://github.com/canonical/hardware-api/actions/workflows/test_client.yaml
531+[cov-badge]: https://codecov.io/gh/canonical/hardware-api/graph/badge.svg?token=p0h9tTp2F3&component=client
532+[cov-latest]: https://codecov.io/gh/canonical/hardware-api
533 [hw-server]: https://hw.ubuntu.com
534 [github-issues]: https://github.com/canonical/hardware-api/issues
535diff --git a/debian/changelog b/debian/changelog
536index 4fdfa2f..d723f6a 100644
537--- a/debian/changelog
538+++ b/debian/changelog
539@@ -1,3 +1,13 @@
540+rust-hwlib (0.11.0-0ubuntu1) resolute; urgency=medium
541+
542+ * New upstream version 0.11.0
543+ - Update rust-vendor/ dir and XS-Vendored-Sources-Rust header
544+ * debian/rules: Use pkg-info.mk for version variables and remove redundant
545+ includes
546+ * d/watch: Update file format to version 5
547+
548+ -- Nadzeya Hutsko <nadzeya.hutsko@canonical.com> Wed, 17 Dec 2025 19:37:32 +0100
549+
550 rust-hwlib (0.10.1-0ubuntu1) resolute; urgency=medium
551
552 * Package 0.10.1 version of upstream
553diff --git a/debian/control b/debian/control
554index c8fb585..b19b61c 100644
555--- a/debian/control
556+++ b/debian/control
557@@ -12,7 +12,7 @@ Build-Depends: debhelper (>= 12),
558 rustc:native
559 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
560 Uploaders: Nadzeya Hutsko <nadzeya.hutsko@canonical.com>
561-XS-Vendored-Sources-Rust: anstream@0.6.21, anstyle-parse@0.2.7, anstyle-query@1.1.4, anstyle@1.0.13, anyhow@1.0.100, autocfg@1.5.0, bitflags@2.9.4, cc@1.2.41, cfg-if@1.0.4, clap@4.5.49, clap_builder@4.5.49, clap_derive@4.5.49, clap_lex@0.7.6, colorchoice@1.0.4, diff@0.1.13, find-msvc-tools@0.1.4, foreign-types-shared@0.1.1, foreign-types@0.3.2, getopts@0.2.24, heck@0.5.0, indoc@2.0.6, is_terminal_polyfill@1.70.1, itoa@1.0.15, lazy_static@1.5.0, libc@0.2.177, log@0.4.28, memchr@2.7.6, memoffset@0.9.1, minreq@2.14.1, native-tls@0.2.14, once_cell@1.21.3, openssl-macros@0.1.1, openssl-probe@0.1.6, openssl-sys@0.9.110, openssl@0.10.74, os-release@0.1.0, pkg-config@0.3.32, pretty_assertions@1.4.1, proc-macro2@1.0.101, pyo3-build-config@0.26.0, pyo3-ffi@0.26.0, pyo3-macros-backend@0.26.0, pyo3-macros@0.26.0, pyo3@0.26.0, quote@1.0.41, ryu@1.0.20, serde@1.0.228, serde_core@1.0.228, serde_derive@1.0.228, serde_json@1.0.145, shlex@1.3.0, simple_test_case@1.3.0, smbios-lib@0.9.2, strsim@0.11.1, syn@2.0.106, target-lexicon@0.13.3, unicode-ident@1.0.19, unicode-width@0.2.2, unindent@0.2.4, utf8parse@0.2.2, vcpkg@0.2.15, yansi@1.0.1
562+XS-Vendored-Sources-Rust: anstream@0.6.21, anstyle-parse@0.2.7, anstyle-query@1.1.5, anstyle@1.0.13, anyhow@1.0.100, autocfg@1.5.0, bitflags@2.10.0, cc@1.2.49, cfg-if@1.0.4, clap@4.5.53, clap_builder@4.5.53, clap_derive@4.5.49, clap_lex@0.7.6, colorchoice@1.0.4, diff@0.1.13, find-msvc-tools@0.1.5, foreign-types-shared@0.1.1, foreign-types@0.3.2, getopts@0.2.24, heck@0.5.0, indoc@2.0.7, is_terminal_polyfill@1.70.2, itoa@1.0.15, lazy_static@1.5.0, libc@0.2.178, log@0.4.29, memchr@2.7.6, memoffset@0.9.1, minreq@2.14.1, native-tls@0.2.14, once_cell@1.21.3, openssl-macros@0.1.1, openssl-probe@0.1.6, openssl-sys@0.9.111, openssl@0.10.75, os-release@0.1.0, pkg-config@0.3.32, pretty_assertions@1.4.1, proc-macro2@1.0.103, pyo3-build-config@0.27.2, pyo3-ffi@0.27.2, pyo3-macros-backend@0.27.2, pyo3-macros@0.27.2, pyo3@0.27.2, quote@1.0.42, rustversion@1.0.22, ryu@1.0.20, serde@1.0.228, serde_core@1.0.228, serde_derive@1.0.228, serde_json@1.0.145, shlex@1.3.0, simple_test_case@1.3.0, smbios-lib@0.9.2, strsim@0.11.1, syn@2.0.111, target-lexicon@0.13.3, unicode-ident@1.0.22, unicode-width@0.2.2, unindent@0.2.4, utf8parse@0.2.2, vcpkg@0.2.15, yansi@1.0.1
563 Vcs-Git: https://github.com/canonical/hardware-api.git [client]
564 Standards-Version: 4.7.2
565 Vcs-Browser: https://github.com/canonical/hardware-api/tree/main/client
566diff --git a/debian/rules b/debian/rules
567index 6b8fc5a..cd8f596 100755
568--- a/debian/rules
569+++ b/debian/rules
570@@ -1,19 +1,10 @@
571 #!/usr/bin/make -f
572
573-# Defines DEB_*_RUST_TYPE triples
574-include /usr/share/dpkg/architecture.mk
575-include /usr/share/dpkg/buildflags.mk
576-include /usr/share/rustc/architecture.mk
577-export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
578-export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
579+include /usr/share/dpkg/pkg-info.mk
580
581 export CARGO_HOME = $(CURDIR)/debian/cargo_home
582 export CARGO_VENDOR_DIR = rust-vendor
583-VERSION := $(shell dpkg-parsechangelog -S Version|sed -e "s|.*~\(.*\)-.*|\1|g")
584-UPSTREAM_VERSION := $(shell dpkg-parsechangelog -S Version|cut -d- -f1)
585-VENDOR_TARBALL = rust-hwlib_$(UPSTREAM_VERSION).orig-$(CARGO_VENDOR_DIR).tar.xz
586-# Enable debug symbols to avoid debug-file-with-no-debug-symbols warning
587-export CARGO_PROFILE_RELEASE_DEBUG=1
588+VENDOR_TARBALL = rust-hwlib_$(DEB_VERSION_UPSTREAM).orig-$(CARGO_VENDOR_DIR).tar.xz
589
590 CARGO_TARGET_DIR = $(CURDIR)/target
591 PKG_HWCTL = $(CURDIR)/debian/hwctl
592@@ -53,7 +44,7 @@ vendor-tarball: vendor-tarball-quick-check vendor-deps
593 tar --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime -caf ../$(VENDOR_TARBALL) $(CARGO_VENDOR_DIR)
594
595 override_dh_auto_test:
596- /usr/share/cargo/bin/cargo test --all-features --offline
597+ dh_auto_test -- test --all-targets --all-features
598
599 override_dh_auto_install:
600 dh_auto_install -- --all-features
601diff --git a/debian/watch b/debian/watch
602index bfd8951..78b0e15 100644
603--- a/debian/watch
604+++ b/debian/watch
605@@ -1,4 +1,6 @@
606-version=4
607-opts=filenamemangle=s/.*\/(.*)\/download/hwlib-$1\.tar\.gz/g,\
608-uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\.?\d*)$/$1~$2/ \
609-https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/hwlib .*/crates/hwlib/@ANY_VERSION@/download
610+Version: 5
611+
612+Source: https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=crates.io/hwlib
613+Matching-Pattern: .*/crates/hwlib/@ANY_VERSION@/download
614+Filenamemangle: s/.*\/(.*)\/download/hwlib-$1\.tar\.gz/g
615+Uversionmangle: s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\.?\d*)$/$1~$2/
616diff --git a/rust-vendor/anstream/.cargo-checksum.json b/rust-vendor/anstream/.cargo-checksum.json
617deleted file mode 100644
618index 1e79679..0000000
619--- a/rust-vendor/anstream/.cargo-checksum.json
620+++ /dev/null
621@@ -1 +0,0 @@
622-{"files":{},"package":"43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a"}
623\ No newline at end of file
624diff --git a/rust-vendor/anstream/.cargo_vcs_info.json b/rust-vendor/anstream/.cargo_vcs_info.json
625new file mode 100644
626index 0000000..6082274
627--- /dev/null
628+++ b/rust-vendor/anstream/.cargo_vcs_info.json
629@@ -0,0 +1,6 @@
630+{
631+ "git": {
632+ "sha1": "f7aff1c56febbd5ec054da313c730cd7c1a44b5c"
633+ },
634+ "path_in_vcs": "crates/anstream"
635+}
636\ No newline at end of file
637diff --git a/rust-vendor/anstream/Cargo.toml.orig b/rust-vendor/anstream/Cargo.toml.orig
638new file mode 100644
639index 0000000..942ac10
640--- /dev/null
641+++ b/rust-vendor/anstream/Cargo.toml.orig
642@@ -0,0 +1,72 @@
643+[package]
644+name = "anstream"
645+version = "0.6.21"
646+description = "IO stream adapters for writing colored text that will gracefully degrade according to your terminal's capabilities."
647+categories = ["command-line-interface"]
648+keywords = ["ansi", "terminal", "color", "strip", "wincon"]
649+repository.workspace = true
650+license.workspace = true
651+edition.workspace = true
652+rust-version.workspace = true
653+include.workspace = true
654+
655+[package.metadata.docs.rs]
656+all-features = true
657+rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
658+
659+[package.metadata.release]
660+pre-release-replacements = [
661+ {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
662+ {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
663+ {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
664+ {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
665+ {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/rust-cli/anstyle/compare/{{tag_name}}...HEAD", exactly=1},
666+]
667+
668+[features]
669+default = ["auto", "wincon"]
670+auto = ["dep:anstyle-query"]
671+wincon = ["dep:anstyle-wincon"]
672+# Enable in `dev-dependencies` to make sure output is captured for tests
673+test = []
674+
675+[dependencies]
676+anstyle = { version = "1.0.0", path = "../anstyle" }
677+anstyle-parse = { version = "0.2.0", path = "../anstyle-parse" }
678+colorchoice = { version = "1.0.0", path = "../colorchoice" }
679+anstyle-query = { version = "1.0.0", path = "../anstyle-query", optional = true }
680+utf8parse = "0.2.2"
681+is_terminal_polyfill = "1.48"
682+
683+[target.'cfg(windows)'.dependencies]
684+anstyle-wincon = { version = "3.0.5", path = "../anstyle-wincon", optional = true }
685+
686+[dev-dependencies]
687+divan = "0.1.16"
688+lexopt = "0.3.1"
689+owo-colors = "4.0.0"
690+proptest = "1.7.0"
691+strip-ansi-escapes = "0.2.1"
692+
693+[[example]]
694+name = "dump-stream"
695+required-features = ["auto"]
696+
697+[[example]]
698+name = "query-stream"
699+required-features = ["auto"]
700+
701+[[bench]]
702+name = "strip"
703+harness = false
704+
705+[[bench]]
706+name = "wincon"
707+harness = false
708+
709+[[bench]]
710+name = "stream"
711+harness = false
712+
713+[lints]
714+workspace = true
715diff --git a/rust-vendor/anstyle-parse/.cargo-checksum.json b/rust-vendor/anstyle-parse/.cargo-checksum.json
716deleted file mode 100644
717index 27a5c42..0000000
718--- a/rust-vendor/anstyle-parse/.cargo-checksum.json
719+++ /dev/null
720@@ -1 +0,0 @@
721-{"files":{},"package":"4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"}
722\ No newline at end of file
723diff --git a/rust-vendor/anstyle-parse/.cargo_vcs_info.json b/rust-vendor/anstyle-parse/.cargo_vcs_info.json
724new file mode 100644
725index 0000000..cc991cc
726--- /dev/null
727+++ b/rust-vendor/anstyle-parse/.cargo_vcs_info.json
728@@ -0,0 +1,6 @@
729+{
730+ "git": {
731+ "sha1": "886539c95318db5de9db49b6d66d19413bd308cc"
732+ },
733+ "path_in_vcs": "crates/anstyle-parse"
734+}
735\ No newline at end of file
736diff --git a/rust-vendor/anstyle-parse/Cargo.toml.orig b/rust-vendor/anstyle-parse/Cargo.toml.orig
737new file mode 100644
738index 0000000..4ccea6c
739--- /dev/null
740+++ b/rust-vendor/anstyle-parse/Cargo.toml.orig
741@@ -0,0 +1,48 @@
742+[package]
743+name = "anstyle-parse"
744+version = "0.2.7"
745+description = "Parse ANSI Style Escapes"
746+categories = ["command-line-interface"]
747+keywords = ["ansi", "terminal", "color", "vte"]
748+repository.workspace = true
749+license.workspace = true
750+edition.workspace = true
751+rust-version.workspace = true
752+include.workspace = true
753+
754+[package.metadata.docs.rs]
755+all-features = true
756+rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
757+
758+[package.metadata.release]
759+pre-release-replacements = [
760+ {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
761+ {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
762+ {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
763+ {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
764+ {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/rust-cli/anstyle/compare/{{tag_name}}...HEAD", exactly=1},
765+]
766+
767+[dependencies]
768+arrayvec = { version = "0.7.2", default-features = false, optional = true }
769+utf8parse = { version = "0.2.1", optional = true }
770+
771+[features]
772+default = ["utf8"]
773+core = ["dep:arrayvec"]
774+utf8 = ["dep:utf8parse"]
775+
776+[dev-dependencies]
777+codegenrs = { version = "3.0.1", default-features = false }
778+divan = "0.1.14"
779+proptest = "1.4.0"
780+snapbox = "0.6.5"
781+vte_generate_state_changes = { version = "0.1.1" }
782+
783+[[bench]]
784+name = "parse"
785+harness = false
786+required-features = ["utf8"]
787+
788+[lints]
789+workspace = true
790diff --git a/rust-vendor/anstyle-query/.cargo-checksum.json b/rust-vendor/anstyle-query/.cargo-checksum.json
791deleted file mode 100644
792index a327ff1..0000000
793--- a/rust-vendor/anstyle-query/.cargo-checksum.json
794+++ /dev/null
795@@ -1 +0,0 @@
796-{"files":{},"package":"9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"}
797\ No newline at end of file
798diff --git a/rust-vendor/anstyle-query/.cargo_vcs_info.json b/rust-vendor/anstyle-query/.cargo_vcs_info.json
799new file mode 100644
800index 0000000..d9e5ef2
801--- /dev/null
802+++ b/rust-vendor/anstyle-query/.cargo_vcs_info.json
803@@ -0,0 +1,6 @@
804+{
805+ "git": {
806+ "sha1": "368a8719474357f9d54be800b4163c9074561e37"
807+ },
808+ "path_in_vcs": "crates/anstyle-query"
809+}
810\ No newline at end of file
811diff --git a/rust-vendor/anstyle-query/Cargo.lock b/rust-vendor/anstyle-query/Cargo.lock
812index 1f5c841..eb68f5b 100644
813--- a/rust-vendor/anstyle-query/Cargo.lock
814+++ b/rust-vendor/anstyle-query/Cargo.lock
815@@ -4,12 +4,18 @@ version = 3
816
817 [[package]]
818 name = "anstyle-query"
819-version = "1.1.4"
820+version = "1.1.5"
821 dependencies = [
822 "windows-sys",
823 ]
824
825 [[package]]
826+name = "windows-link"
827+version = "0.2.1"
828+source = "registry+https://github.com/rust-lang/crates.io-index"
829+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
830+
831+[[package]]
832 name = "windows-sys"
833 version = "0.60.2"
834 source = "registry+https://github.com/rust-lang/crates.io-index"
835@@ -20,10 +26,11 @@ dependencies = [
836
837 [[package]]
838 name = "windows-targets"
839-version = "0.53.2"
840+version = "0.53.5"
841 source = "registry+https://github.com/rust-lang/crates.io-index"
842-checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
843+checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
844 dependencies = [
845+ "windows-link",
846 "windows_aarch64_gnullvm",
847 "windows_aarch64_msvc",
848 "windows_i686_gnu",
849@@ -36,48 +43,48 @@ dependencies = [
850
851 [[package]]
852 name = "windows_aarch64_gnullvm"
853-version = "0.53.0"
854+version = "0.53.1"
855 source = "registry+https://github.com/rust-lang/crates.io-index"
856-checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
857+checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
858
859 [[package]]
860 name = "windows_aarch64_msvc"
861-version = "0.53.0"
862+version = "0.53.1"
863 source = "registry+https://github.com/rust-lang/crates.io-index"
864-checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
865+checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
866
867 [[package]]
868 name = "windows_i686_gnu"
869-version = "0.53.0"
870+version = "0.53.1"
871 source = "registry+https://github.com/rust-lang/crates.io-index"
872-checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
873+checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
874
875 [[package]]
876 name = "windows_i686_gnullvm"
877-version = "0.53.0"
878+version = "0.53.1"
879 source = "registry+https://github.com/rust-lang/crates.io-index"
880-checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
881+checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
882
883 [[package]]
884 name = "windows_i686_msvc"
885-version = "0.53.0"
886+version = "0.53.1"
887 source = "registry+https://github.com/rust-lang/crates.io-index"
888-checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
889+checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
890
891 [[package]]
892 name = "windows_x86_64_gnu"
893-version = "0.53.0"
894+version = "0.53.1"
895 source = "registry+https://github.com/rust-lang/crates.io-index"
896-checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
897+checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
898
899 [[package]]
900 name = "windows_x86_64_gnullvm"
901-version = "0.53.0"
902+version = "0.53.1"
903 source = "registry+https://github.com/rust-lang/crates.io-index"
904-checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
905+checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
906
907 [[package]]
908 name = "windows_x86_64_msvc"
909-version = "0.53.0"
910+version = "0.53.1"
911 source = "registry+https://github.com/rust-lang/crates.io-index"
912-checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
913+checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
914diff --git a/rust-vendor/anstyle-query/Cargo.toml b/rust-vendor/anstyle-query/Cargo.toml
915index be52740..1268520 100644
916--- a/rust-vendor/anstyle-query/Cargo.toml
917+++ b/rust-vendor/anstyle-query/Cargo.toml
918@@ -13,7 +13,7 @@
919 edition = "2021"
920 rust-version = "1.66.0"
921 name = "anstyle-query"
922-version = "1.1.4"
923+version = "1.1.5"
924 build = false
925 include = [
926 "build.rs",
927@@ -94,7 +94,7 @@ name = "query"
928 path = "examples/query.rs"
929
930 [target."cfg(windows)".dependencies.windows-sys]
931-version = "0.60.0"
932+version = ">=0.60.2, <0.62"
933 features = [
934 "Win32_System_Console",
935 "Win32_Foundation",
936@@ -153,7 +153,6 @@ str_to_string = "warn"
937 string_add = "warn"
938 string_add_assign = "warn"
939 string_lit_as_bytes = "warn"
940-string_to_string = "warn"
941 todo = "warn"
942 trait_duplication_in_bounds = "warn"
943 uninlined_format_args = "warn"
944diff --git a/rust-vendor/anstyle-query/Cargo.toml.orig b/rust-vendor/anstyle-query/Cargo.toml.orig
945new file mode 100644
946index 0000000..084f20f
947--- /dev/null
948+++ b/rust-vendor/anstyle-query/Cargo.toml.orig
949@@ -0,0 +1,30 @@
950+[package]
951+name = "anstyle-query"
952+version = "1.1.5"
953+description = "Look up colored console capabilities"
954+categories = ["command-line-interface"]
955+keywords = ["cli", "color", "no-std", "terminal", "ansi"]
956+repository.workspace = true
957+license.workspace = true
958+edition.workspace = true
959+rust-version.workspace = true
960+include.workspace = true
961+
962+[package.metadata.docs.rs]
963+all-features = true
964+rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
965+
966+[package.metadata.release]
967+pre-release-replacements = [
968+ {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
969+ {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
970+ {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
971+ {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
972+ {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/rust-cli/anstyle/compare/{{tag_name}}...HEAD", exactly=1},
973+]
974+
975+[target.'cfg(windows)'.dependencies]
976+windows-sys = { version = ">=0.60.2, <0.62", features = ["Win32_System_Console", "Win32_Foundation"] }
977+
978+[lints]
979+workspace = true
980diff --git a/rust-vendor/anstyle-query/README.md b/rust-vendor/anstyle-query/README.md
981index cff93ac..cedce61 100644
982--- a/rust-vendor/anstyle-query/README.md
983+++ b/rust-vendor/anstyle-query/README.md
984@@ -10,8 +10,8 @@
985
986 Licensed under either of
987
988-* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
989-* MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
990+* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or <https://www.apache.org/licenses/LICENSE-2.0>)
991+* MIT license ([LICENSE-MIT](LICENSE-MIT) or <https://opensource.org/license/mit>)
992
993 at your option.
994
995diff --git a/rust-vendor/anstyle-query/src/lib.rs b/rust-vendor/anstyle-query/src/lib.rs
996index c6676fd..f17570a 100644
997--- a/rust-vendor/anstyle-query/src/lib.rs
998+++ b/rust-vendor/anstyle-query/src/lib.rs
999@@ -1,6 +1,6 @@
1000 //! Low level terminal capability lookups
1001
1002-#![cfg_attr(docsrs, feature(doc_auto_cfg))]
1003+#![cfg_attr(docsrs, feature(doc_cfg))]
1004 #![warn(missing_docs)]
1005 #![warn(clippy::print_stderr)]
1006 #![warn(clippy::print_stdout)]
1007diff --git a/rust-vendor/anstyle-wincon/.cargo-checksum.json b/rust-vendor/anstyle-wincon/.cargo-checksum.json
1008deleted file mode 100644
1009index fecf8cc..0000000
1010--- a/rust-vendor/anstyle-wincon/.cargo-checksum.json
1011+++ /dev/null
1012@@ -1 +0,0 @@
1013-{"files":{},"package":"3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"}
1014\ No newline at end of file
1015diff --git a/rust-vendor/anstyle-wincon/Cargo.toml b/rust-vendor/anstyle-wincon/Cargo.toml
1016index 6ddc7b9..2a7c4e2 100644
1017--- a/rust-vendor/anstyle-wincon/Cargo.toml
1018+++ b/rust-vendor/anstyle-wincon/Cargo.toml
1019@@ -2,7 +2,7 @@
1020 version = "1.0.0"
1021
1022 [dev-dependencies.lexopt]
1023-version = "0.3.0"
1024+version = "0.3.1"
1025
1026 [lib]
1027 path = "src/lib.rs"
1028@@ -60,7 +60,6 @@ str_to_string = "warn"
1029 string_add = "warn"
1030 string_add_assign = "warn"
1031 string_lit_as_bytes = "warn"
1032-string_to_string = "warn"
1033 todo = "warn"
1034 trait_duplication_in_bounds = "warn"
1035 uninlined_format_args = "warn"
1036@@ -96,7 +95,7 @@ name = "anstyle-wincon"
1037 readme = "README.md"
1038 repository = "https://github.com/rust-cli/anstyle.git"
1039 rust-version = "1.66.0"
1040-version = "3.0.10"
1041+version = "3.0.11"
1042
1043 [package.metadata.docs.rs]
1044 all-features = true
1045@@ -139,8 +138,8 @@ replace = """
1046 search = "<!-- next-url -->"
1047
1048 [target."cfg(windows)".dependencies.once_cell_polyfill]
1049-version = "1.56.0"
1050+version = "1.56.1"
1051
1052 [target."cfg(windows)".dependencies.windows-sys]
1053 features = ["Win32_System_Console", "Win32_Foundation"]
1054-version = "0.60.0"
1055+version = ">=0.60.2, <0.62"
1056diff --git a/rust-vendor/anstyle/.cargo-checksum.json b/rust-vendor/anstyle/.cargo-checksum.json
1057deleted file mode 100644
1058index 361dda7..0000000
1059--- a/rust-vendor/anstyle/.cargo-checksum.json
1060+++ /dev/null
1061@@ -1 +0,0 @@
1062-{"files":{},"package":"5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"}
1063\ No newline at end of file
1064diff --git a/rust-vendor/anstyle/.cargo_vcs_info.json b/rust-vendor/anstyle/.cargo_vcs_info.json
1065new file mode 100644
1066index 0000000..3b2c256
1067--- /dev/null
1068+++ b/rust-vendor/anstyle/.cargo_vcs_info.json
1069@@ -0,0 +1,6 @@
1070+{
1071+ "git": {
1072+ "sha1": "14dd743496d1614f8261a093ce755f26d8e2069d"
1073+ },
1074+ "path_in_vcs": "crates/anstyle"
1075+}
1076\ No newline at end of file
1077diff --git a/rust-vendor/anstyle/Cargo.toml.orig b/rust-vendor/anstyle/Cargo.toml.orig
1078new file mode 100644
1079index 0000000..a08fe0a
1080--- /dev/null
1081+++ b/rust-vendor/anstyle/Cargo.toml.orig
1082@@ -0,0 +1,38 @@
1083+[package]
1084+name = "anstyle"
1085+version = "1.0.13"
1086+description = "ANSI text styling"
1087+categories = ["command-line-interface"]
1088+keywords = ["ansi", "terminal", "color", "no_std"]
1089+repository.workspace = true
1090+license.workspace = true
1091+edition.workspace = true
1092+rust-version.workspace = true
1093+include.workspace = true
1094+
1095+[package.metadata.docs.rs]
1096+all-features = true
1097+rustdoc-args = ["--generate-link-to-definition"]
1098+
1099+[package.metadata.release]
1100+tag-prefix = ""
1101+pre-release-replacements = [
1102+ {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
1103+ {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
1104+ {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
1105+ {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
1106+ {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/rust-cli/anstyle/compare/{{tag_name}}...HEAD", exactly=1},
1107+]
1108+
1109+[features]
1110+default = ["std"]
1111+std = []
1112+
1113+[dependencies]
1114+
1115+[dev-dependencies]
1116+lexopt = "0.3.0"
1117+snapbox = "0.6.5"
1118+
1119+[lints]
1120+workspace = true
1121diff --git a/rust-vendor/anyhow/.cargo-checksum.json b/rust-vendor/anyhow/.cargo-checksum.json
1122deleted file mode 100644
1123index c20d08f..0000000
1124--- a/rust-vendor/anyhow/.cargo-checksum.json
1125+++ /dev/null
1126@@ -1 +0,0 @@
1127-{"files":{},"package":"a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"}
1128\ No newline at end of file
1129diff --git a/rust-vendor/anyhow/.cargo_vcs_info.json b/rust-vendor/anyhow/.cargo_vcs_info.json
1130new file mode 100644
1131index 0000000..958b5fa
1132--- /dev/null
1133+++ b/rust-vendor/anyhow/.cargo_vcs_info.json
1134@@ -0,0 +1,6 @@
1135+{
1136+ "git": {
1137+ "sha1": "18c2598afa0f996f56217ef128aa3a20ea1e9512"
1138+ },
1139+ "path_in_vcs": ""
1140+}
1141\ No newline at end of file
1142diff --git a/rust-vendor/anyhow/.github/FUNDING.yml b/rust-vendor/anyhow/.github/FUNDING.yml
1143new file mode 100644
1144index 0000000..7507077
1145--- /dev/null
1146+++ b/rust-vendor/anyhow/.github/FUNDING.yml
1147@@ -0,0 +1 @@
1148+github: dtolnay
1149diff --git a/rust-vendor/anyhow/.github/workflows/ci.yml b/rust-vendor/anyhow/.github/workflows/ci.yml
1150new file mode 100644
1151index 0000000..304c8c4
1152--- /dev/null
1153+++ b/rust-vendor/anyhow/.github/workflows/ci.yml
1154@@ -0,0 +1,147 @@
1155+name: CI
1156+
1157+on:
1158+ push:
1159+ pull_request:
1160+ workflow_dispatch:
1161+ schedule: [cron: "40 1 * * *"]
1162+
1163+permissions:
1164+ contents: read
1165+
1166+env:
1167+ RUSTFLAGS: -Dwarnings
1168+
1169+jobs:
1170+ pre_ci:
1171+ uses: dtolnay/.github/.github/workflows/pre_ci.yml@master
1172+
1173+ test:
1174+ name: Rust ${{matrix.rust}}
1175+ needs: pre_ci
1176+ if: needs.pre_ci.outputs.continue
1177+ runs-on: ubuntu-latest
1178+ strategy:
1179+ fail-fast: false
1180+ matrix:
1181+ rust: [nightly, beta, stable, 1.82.0, 1.80.0, 1.76.0]
1182+ timeout-minutes: 45
1183+ steps:
1184+ - uses: actions/checkout@v5
1185+ - uses: dtolnay/rust-toolchain@master
1186+ with:
1187+ toolchain: ${{matrix.rust}}
1188+ components: rust-src
1189+ - name: Enable type layout randomization
1190+ run: echo RUSTFLAGS=${RUSTFLAGS}\ -Zrandomize-layout >> $GITHUB_ENV
1191+ if: matrix.rust == 'nightly'
1192+ - name: Enable nightly-only tests
1193+ run: echo RUSTFLAGS=${RUSTFLAGS}\ --cfg=anyhow_nightly_testing >> $GITHUB_ENV
1194+ if: matrix.rust == 'nightly'
1195+ - run: cargo test
1196+ - run: cargo check --no-default-features
1197+ - run: cargo check --features backtrace
1198+ if: matrix.rust != '1.80.0' && matrix.rust != '1.76.0'
1199+ - uses: actions/upload-artifact@v4
1200+ if: matrix.rust == 'nightly' && always()
1201+ with:
1202+ name: Cargo.lock
1203+ path: Cargo.lock
1204+ continue-on-error: true
1205+
1206+ build:
1207+ name: Rust ${{matrix.rust}}
1208+ needs: pre_ci
1209+ if: needs.pre_ci.outputs.continue
1210+ runs-on: ubuntu-latest
1211+ strategy:
1212+ fail-fast: false
1213+ matrix:
1214+ rust: [1.67.0, 1.65.0, 1.52.0, 1.51.0, 1.50.0, 1.39.0]
1215+ timeout-minutes: 45
1216+ steps:
1217+ - uses: actions/checkout@v5
1218+ - uses: dtolnay/rust-toolchain@master
1219+ with:
1220+ toolchain: ${{matrix.rust}}
1221+ components: rust-src
1222+ - run: cargo check --manifest-path tests/crate/Cargo.toml
1223+ - run: cargo check --manifest-path tests/crate/Cargo.toml --no-default-features
1224+
1225+ minimal:
1226+ name: Minimal versions
1227+ needs: pre_ci
1228+ if: needs.pre_ci.outputs.continue
1229+ runs-on: ubuntu-latest
1230+ timeout-minutes: 45
1231+ steps:
1232+ - uses: actions/checkout@v5
1233+ - uses: dtolnay/rust-toolchain@nightly
1234+ - run: cargo generate-lockfile -Z minimal-versions
1235+ - run: cargo check --locked --features backtrace
1236+
1237+ windows:
1238+ name: Windows
1239+ needs: pre_ci
1240+ if: needs.pre_ci.outputs.continue
1241+ runs-on: windows-latest
1242+ timeout-minutes: 45
1243+ steps:
1244+ - uses: actions/checkout@v5
1245+ - uses: dtolnay/rust-toolchain@stable
1246+ with:
1247+ components: rust-src
1248+ - run: cargo check --features backtrace
1249+
1250+ doc:
1251+ name: Documentation
1252+ needs: pre_ci
1253+ if: needs.pre_ci.outputs.continue
1254+ runs-on: ubuntu-latest
1255+ timeout-minutes: 45
1256+ env:
1257+ RUSTDOCFLAGS: -Dwarnings
1258+ steps:
1259+ - uses: actions/checkout@v5
1260+ - uses: dtolnay/rust-toolchain@nightly
1261+ with:
1262+ components: rust-src
1263+ - uses: dtolnay/install@cargo-docs-rs
1264+ - run: cargo docs-rs
1265+
1266+ clippy:
1267+ name: Clippy
1268+ runs-on: ubuntu-latest
1269+ if: github.event_name != 'pull_request'
1270+ timeout-minutes: 45
1271+ steps:
1272+ - uses: actions/checkout@v5
1273+ - uses: dtolnay/rust-toolchain@nightly
1274+ with:
1275+ components: clippy, rust-src
1276+ - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic
1277+
1278+ miri:
1279+ name: Miri
1280+ needs: pre_ci
1281+ if: needs.pre_ci.outputs.continue
1282+ runs-on: ubuntu-latest
1283+ timeout-minutes: 45
1284+ steps:
1285+ - uses: actions/checkout@v5
1286+ - uses: dtolnay/rust-toolchain@miri
1287+ - run: cargo miri setup
1288+ - run: cargo miri test
1289+ env:
1290+ MIRIFLAGS: -Zmiri-strict-provenance
1291+
1292+ outdated:
1293+ name: Outdated
1294+ runs-on: ubuntu-latest
1295+ if: github.event_name != 'pull_request'
1296+ timeout-minutes: 45
1297+ steps:
1298+ - uses: actions/checkout@v5
1299+ - uses: dtolnay/rust-toolchain@stable
1300+ - uses: dtolnay/install@cargo-outdated
1301+ - run: cargo outdated --workspace --exit-code 1
1302diff --git a/rust-vendor/anyhow/Cargo.toml.orig b/rust-vendor/anyhow/Cargo.toml.orig
1303new file mode 100644
1304index 0000000..79a4ea4
1305--- /dev/null
1306+++ b/rust-vendor/anyhow/Cargo.toml.orig
1307@@ -0,0 +1,40 @@
1308+[package]
1309+name = "anyhow"
1310+version = "1.0.100"
1311+authors = ["David Tolnay <dtolnay@gmail.com>"]
1312+categories = ["rust-patterns", "no-std"]
1313+description = "Flexible concrete Error type built on std::error::Error"
1314+documentation = "https://docs.rs/anyhow"
1315+edition = "2018"
1316+keywords = ["error", "error-handling"]
1317+license = "MIT OR Apache-2.0"
1318+repository = "https://github.com/dtolnay/anyhow"
1319+rust-version = "1.39"
1320+
1321+[features]
1322+default = ["std"]
1323+std = []
1324+
1325+[dependencies]
1326+# On compilers older than 1.65, features=["backtrace"] may be used to enable
1327+# backtraces via the `backtrace` crate. This feature has no effect on 1.65+
1328+# besides bringing in an unused dependency, as `std::backtrace` is always
1329+# preferred.
1330+backtrace = { version = "0.3.51", optional = true }
1331+
1332+[dev-dependencies]
1333+futures = { version = "0.3", default-features = false }
1334+rustversion = "1.0.6"
1335+syn = { version = "2.0", features = ["full"] }
1336+thiserror = "2"
1337+trybuild = { version = "1.0.108", features = ["diff"] }
1338+
1339+[package.metadata.docs.rs]
1340+targets = ["x86_64-unknown-linux-gnu"]
1341+rustdoc-args = [
1342+ "--generate-link-to-definition",
1343+ "--generate-macro-expansion",
1344+ "--extern-html-root-url=core=https://doc.rust-lang.org",
1345+ "--extern-html-root-url=alloc=https://doc.rust-lang.org",
1346+ "--extern-html-root-url=std=https://doc.rust-lang.org",
1347+]
1348diff --git a/rust-vendor/autocfg/.cargo-checksum.json b/rust-vendor/autocfg/.cargo-checksum.json
1349deleted file mode 100644
1350index 7a410f1..0000000
1351--- a/rust-vendor/autocfg/.cargo-checksum.json
1352+++ /dev/null
1353@@ -1 +0,0 @@
1354-{"files":{},"package":"c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"}
1355\ No newline at end of file
1356diff --git a/rust-vendor/autocfg/.cargo_vcs_info.json b/rust-vendor/autocfg/.cargo_vcs_info.json
1357new file mode 100644
1358index 0000000..80087c7
1359--- /dev/null
1360+++ b/rust-vendor/autocfg/.cargo_vcs_info.json
1361@@ -0,0 +1,6 @@
1362+{
1363+ "git": {
1364+ "sha1": "d912169ed67977efe5a465269b0e73cb66060c49"
1365+ },
1366+ "path_in_vcs": ""
1367+}
1368\ No newline at end of file
1369diff --git a/rust-vendor/autocfg/Cargo.toml.orig b/rust-vendor/autocfg/Cargo.toml.orig
1370new file mode 100644
1371index 0000000..75b34ea
1372--- /dev/null
1373+++ b/rust-vendor/autocfg/Cargo.toml.orig
1374@@ -0,0 +1,15 @@
1375+[package]
1376+name = "autocfg"
1377+version = "1.5.0"
1378+authors = ["Josh Stone <cuviper@gmail.com>"]
1379+license = "Apache-2.0 OR MIT"
1380+repository = "https://github.com/cuviper/autocfg"
1381+documentation = "https://docs.rs/autocfg/"
1382+description = "Automatic cfg for Rust compiler features"
1383+readme = "README.md"
1384+keywords = ["rustc", "build", "autoconf"]
1385+categories = ["development-tools::build-utils"]
1386+exclude = ["/.github/**"]
1387+rust-version = "1.0"
1388+
1389+[dependencies]
1390diff --git a/rust-vendor/bitflags/.cargo-checksum.json b/rust-vendor/bitflags/.cargo-checksum.json
1391deleted file mode 100644
1392index a6b2577..0000000
1393--- a/rust-vendor/bitflags/.cargo-checksum.json
1394+++ /dev/null
1395@@ -1 +0,0 @@
1396-{"files":{},"package":"2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"}
1397\ No newline at end of file
1398diff --git a/rust-vendor/bitflags/.cargo_vcs_info.json b/rust-vendor/bitflags/.cargo_vcs_info.json
1399new file mode 100644
1400index 0000000..c4d1f9e
1401--- /dev/null
1402+++ b/rust-vendor/bitflags/.cargo_vcs_info.json
1403@@ -0,0 +1,6 @@
1404+{
1405+ "git": {
1406+ "sha1": "7cc8595e93d04d180d39e2f25242dca85dd71228"
1407+ },
1408+ "path_in_vcs": ""
1409+}
1410\ No newline at end of file
1411diff --git a/rust-vendor/bitflags/CHANGELOG.md b/rust-vendor/bitflags/CHANGELOG.md
1412index 8988fc3..b03810a 100644
1413--- a/rust-vendor/bitflags/CHANGELOG.md
1414+++ b/rust-vendor/bitflags/CHANGELOG.md
1415@@ -1,3 +1,14 @@
1416+# 2.10.0
1417+
1418+## What's Changed
1419+* Implement iterator for all named flags by @ssrlive in https://github.com/bitflags/bitflags/pull/465
1420+* Depend on serde_core instead of serde by @KodrAus in https://github.com/bitflags/bitflags/pull/467
1421+
1422+## New Contributors
1423+* @ssrlive made their first contribution in https://github.com/bitflags/bitflags/pull/465
1424+
1425+**Full Changelog**: https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0
1426+
1427 # 2.9.4
1428
1429 ## What's Changed
1430diff --git a/rust-vendor/bitflags/Cargo.lock b/rust-vendor/bitflags/Cargo.lock
1431index 36c2255..23ecff1 100644
1432--- a/rust-vendor/bitflags/Cargo.lock
1433+++ b/rust-vendor/bitflags/Cargo.lock
1434@@ -13,13 +13,13 @@ dependencies = [
1435
1436 [[package]]
1437 name = "bitflags"
1438-version = "2.9.4"
1439+version = "2.10.0"
1440 dependencies = [
1441 "arbitrary",
1442 "bytemuck",
1443 "rustversion",
1444 "serde",
1445- "serde_derive",
1446+ "serde_core",
1447 "serde_json",
1448 "serde_test",
1449 "trybuild",
1450@@ -28,18 +28,18 @@ dependencies = [
1451
1452 [[package]]
1453 name = "bytemuck"
1454-version = "1.23.2"
1455+version = "1.24.0"
1456 source = "registry+https://github.com/rust-lang/crates.io-index"
1457-checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677"
1458+checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
1459 dependencies = [
1460 "bytemuck_derive",
1461 ]
1462
1463 [[package]]
1464 name = "bytemuck_derive"
1465-version = "1.10.1"
1466+version = "1.10.2"
1467 source = "registry+https://github.com/rust-lang/crates.io-index"
1468-checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29"
1469+checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
1470 dependencies = [
1471 "proc-macro2",
1472 "quote",
1473@@ -71,15 +71,15 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
1474
1475 [[package]]
1476 name = "hashbrown"
1477-version = "0.15.5"
1478+version = "0.16.0"
1479 source = "registry+https://github.com/rust-lang/crates.io-index"
1480-checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
1481+checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
1482
1483 [[package]]
1484 name = "indexmap"
1485-version = "2.11.0"
1486+version = "2.12.0"
1487 source = "registry+https://github.com/rust-lang/crates.io-index"
1488-checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
1489+checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f"
1490 dependencies = [
1491 "equivalent",
1492 "hashbrown",
1493@@ -93,9 +93,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1494
1495 [[package]]
1496 name = "memchr"
1497-version = "2.7.5"
1498+version = "2.7.6"
1499 source = "registry+https://github.com/rust-lang/crates.io-index"
1500-checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
1501+checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
1502
1503 [[package]]
1504 name = "proc-macro2"
1505@@ -108,9 +108,9 @@ dependencies = [
1506
1507 [[package]]
1508 name = "quote"
1509-version = "1.0.40"
1510+version = "1.0.41"
1511 source = "registry+https://github.com/rust-lang/crates.io-index"
1512-checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
1513+checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
1514 dependencies = [
1515 "proc-macro2",
1516 ]
1517@@ -129,18 +129,28 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
1518
1519 [[package]]
1520 name = "serde"
1521-version = "1.0.219"
1522+version = "1.0.228"
1523 source = "registry+https://github.com/rust-lang/crates.io-index"
1524-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
1525+checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1526+dependencies = [
1527+ "serde_core",
1528+ "serde_derive",
1529+]
1530+
1531+[[package]]
1532+name = "serde_core"
1533+version = "1.0.228"
1534+source = "registry+https://github.com/rust-lang/crates.io-index"
1535+checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1536 dependencies = [
1537 "serde_derive",
1538 ]
1539
1540 [[package]]
1541 name = "serde_derive"
1542-version = "1.0.219"
1543+version = "1.0.228"
1544 source = "registry+https://github.com/rust-lang/crates.io-index"
1545-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
1546+checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1547 dependencies = [
1548 "proc-macro2",
1549 "quote",
1550@@ -149,23 +159,24 @@ dependencies = [
1551
1552 [[package]]
1553 name = "serde_json"
1554-version = "1.0.143"
1555+version = "1.0.145"
1556 source = "registry+https://github.com/rust-lang/crates.io-index"
1557-checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
1558+checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
1559 dependencies = [
1560 "itoa",
1561 "memchr",
1562 "ryu",
1563 "serde",
1564+ "serde_core",
1565 ]
1566
1567 [[package]]
1568 name = "serde_spanned"
1569-version = "1.0.0"
1570+version = "1.0.3"
1571 source = "registry+https://github.com/rust-lang/crates.io-index"
1572-checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83"
1573+checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392"
1574 dependencies = [
1575- "serde",
1576+ "serde_core",
1577 ]
1578
1579 [[package]]
1580@@ -179,9 +190,9 @@ dependencies = [
1581
1582 [[package]]
1583 name = "syn"
1584-version = "2.0.106"
1585+version = "2.0.107"
1586 source = "registry+https://github.com/rust-lang/crates.io-index"
1587-checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
1588+checksum = "2a26dbd934e5451d21ef060c018dae56fc073894c5a7896f882928a76e6d081b"
1589 dependencies = [
1590 "proc-macro2",
1591 "quote",
1592@@ -205,12 +216,12 @@ dependencies = [
1593
1594 [[package]]
1595 name = "toml"
1596-version = "0.9.5"
1597+version = "0.9.8"
1598 source = "registry+https://github.com/rust-lang/crates.io-index"
1599-checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8"
1600+checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8"
1601 dependencies = [
1602 "indexmap",
1603- "serde",
1604+ "serde_core",
1605 "serde_spanned",
1606 "toml_datetime",
1607 "toml_parser",
1608@@ -220,33 +231,33 @@ dependencies = [
1609
1610 [[package]]
1611 name = "toml_datetime"
1612-version = "0.7.0"
1613+version = "0.7.3"
1614 source = "registry+https://github.com/rust-lang/crates.io-index"
1615-checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3"
1616+checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533"
1617 dependencies = [
1618- "serde",
1619+ "serde_core",
1620 ]
1621
1622 [[package]]
1623 name = "toml_parser"
1624-version = "1.0.2"
1625+version = "1.0.4"
1626 source = "registry+https://github.com/rust-lang/crates.io-index"
1627-checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10"
1628+checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e"
1629 dependencies = [
1630 "winnow",
1631 ]
1632
1633 [[package]]
1634 name = "toml_writer"
1635-version = "1.0.2"
1636+version = "1.0.4"
1637 source = "registry+https://github.com/rust-lang/crates.io-index"
1638-checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64"
1639+checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2"
1640
1641 [[package]]
1642 name = "trybuild"
1643-version = "1.0.110"
1644+version = "1.0.112"
1645 source = "registry+https://github.com/rust-lang/crates.io-index"
1646-checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e"
1647+checksum = "4d66678374d835fe847e0dc8348fde2ceb5be4a7ec204437d8367f0d8df266a5"
1648 dependencies = [
1649 "glob",
1650 "serde",
1651@@ -259,100 +270,35 @@ dependencies = [
1652
1653 [[package]]
1654 name = "unicode-ident"
1655-version = "1.0.18"
1656+version = "1.0.19"
1657 source = "registry+https://github.com/rust-lang/crates.io-index"
1658-checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
1659+checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
1660
1661 [[package]]
1662 name = "winapi-util"
1663-version = "0.1.10"
1664+version = "0.1.11"
1665 source = "registry+https://github.com/rust-lang/crates.io-index"
1666-checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
1667+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
1668 dependencies = [
1669 "windows-sys",
1670 ]
1671
1672 [[package]]
1673 name = "windows-link"
1674-version = "0.1.3"
1675+version = "0.2.1"
1676 source = "registry+https://github.com/rust-lang/crates.io-index"
1677-checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
1678+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
1679
1680 [[package]]
1681 name = "windows-sys"
1682-version = "0.60.2"
1683-source = "registry+https://github.com/rust-lang/crates.io-index"
1684-checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
1685-dependencies = [
1686- "windows-targets",
1687-]
1688-
1689-[[package]]
1690-name = "windows-targets"
1691-version = "0.53.3"
1692+version = "0.61.2"
1693 source = "registry+https://github.com/rust-lang/crates.io-index"
1694-checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
1695+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
1696 dependencies = [
1697 "windows-link",
1698- "windows_aarch64_gnullvm",
1699- "windows_aarch64_msvc",
1700- "windows_i686_gnu",
1701- "windows_i686_gnullvm",
1702- "windows_i686_msvc",
1703- "windows_x86_64_gnu",
1704- "windows_x86_64_gnullvm",
1705- "windows_x86_64_msvc",
1706 ]
1707
1708 [[package]]
1709-name = "windows_aarch64_gnullvm"
1710-version = "0.53.0"
1711-source = "registry+https://github.com/rust-lang/crates.io-index"
1712-checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
1713-
1714-[[package]]
1715-name = "windows_aarch64_msvc"
1716-version = "0.53.0"
1717-source = "registry+https://github.com/rust-lang/crates.io-index"
1718-checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
1719-
1720-[[package]]
1721-name = "windows_i686_gnu"
1722-version = "0.53.0"
1723-source = "registry+https://github.com/rust-lang/crates.io-index"
1724-checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
1725-
1726-[[package]]
1727-name = "windows_i686_gnullvm"
1728-version = "0.53.0"
1729-source = "registry+https://github.com/rust-lang/crates.io-index"
1730-checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
1731-
1732-[[package]]
1733-name = "windows_i686_msvc"
1734-version = "0.53.0"
1735-source = "registry+https://github.com/rust-lang/crates.io-index"
1736-checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
1737-
1738-[[package]]
1739-name = "windows_x86_64_gnu"
1740-version = "0.53.0"
1741-source = "registry+https://github.com/rust-lang/crates.io-index"
1742-checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
1743-
1744-[[package]]
1745-name = "windows_x86_64_gnullvm"
1746-version = "0.53.0"
1747-source = "registry+https://github.com/rust-lang/crates.io-index"
1748-checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
1749-
1750-[[package]]
1751-name = "windows_x86_64_msvc"
1752-version = "0.53.0"
1753-source = "registry+https://github.com/rust-lang/crates.io-index"
1754-checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
1755-
1756-[[package]]
1757 name = "winnow"
1758 version = "0.7.13"
1759 source = "registry+https://github.com/rust-lang/crates.io-index"
1760@@ -360,18 +306,18 @@ checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
1761
1762 [[package]]
1763 name = "zerocopy"
1764-version = "0.8.26"
1765+version = "0.8.27"
1766 source = "registry+https://github.com/rust-lang/crates.io-index"
1767-checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
1768+checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c"
1769 dependencies = [
1770 "zerocopy-derive",
1771 ]
1772
1773 [[package]]
1774 name = "zerocopy-derive"
1775-version = "0.8.26"
1776+version = "0.8.27"
1777 source = "registry+https://github.com/rust-lang/crates.io-index"
1778-checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
1779+checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
1780 dependencies = [
1781 "proc-macro2",
1782 "quote",
1783diff --git a/rust-vendor/bitflags/Cargo.toml b/rust-vendor/bitflags/Cargo.toml
1784index 2ec337c..f950e7e 100644
1785--- a/rust-vendor/bitflags/Cargo.toml
1786+++ b/rust-vendor/bitflags/Cargo.toml
1787@@ -13,7 +13,7 @@
1788 edition = "2021"
1789 rust-version = "1.56.0"
1790 name = "bitflags"
1791-version = "2.9.4"
1792+version = "2.10.0"
1793 authors = ["The Rust Project Developers"]
1794 build = false
1795 exclude = [
1796@@ -46,6 +46,7 @@ features = ["example_generated"]
1797
1798 [features]
1799 example_generated = []
1800+serde = ["serde_core"]
1801 std = []
1802
1803 [lib]
1804@@ -84,8 +85,8 @@ optional = true
1805 version = "1.12"
1806 optional = true
1807
1808-[dependencies.serde]
1809-version = "1.0.103"
1810+[dependencies.serde_core]
1811+version = "1.0.228"
1812 optional = true
1813 default-features = false
1814
1815@@ -100,12 +101,14 @@ features = ["derive"]
1816 [dev-dependencies.rustversion]
1817 version = "1.0"
1818
1819-[dev-dependencies.serde_derive]
1820-version = "1.0.103"
1821-
1822 [dev-dependencies.serde_json]
1823 version = "1.0"
1824
1825+[dev-dependencies.serde_lib]
1826+version = "1.0.103"
1827+features = ["derive"]
1828+package = "serde"
1829+
1830 [dev-dependencies.serde_test]
1831 version = "1.0.19"
1832
1833diff --git a/rust-vendor/bitflags/Cargo.toml.orig b/rust-vendor/bitflags/Cargo.toml.orig
1834new file mode 100644
1835index 0000000..b13c68d
1836--- /dev/null
1837+++ b/rust-vendor/bitflags/Cargo.toml.orig
1838@@ -0,0 +1,41 @@
1839+[package]
1840+name = "bitflags"
1841+# NB: When modifying, also modify the number in readme (for breaking changes)
1842+version = "2.10.0"
1843+edition = "2021"
1844+rust-version = "1.56.0"
1845+authors = ["The Rust Project Developers"]
1846+license = "MIT OR Apache-2.0"
1847+keywords = ["bit", "bitmask", "bitflags", "flags"]
1848+readme = "README.md"
1849+repository = "https://github.com/bitflags/bitflags"
1850+homepage = "https://github.com/bitflags/bitflags"
1851+documentation = "https://docs.rs/bitflags"
1852+categories = ["no-std"]
1853+description = """
1854+A macro to generate structures which behave like bitflags.
1855+"""
1856+exclude = ["/tests", "/.github"]
1857+
1858+[dependencies]
1859+serde_core = { version = "1.0.228", optional = true, default-features = false }
1860+arbitrary = { version = "1.0", optional = true }
1861+bytemuck = { version = "1.12", optional = true }
1862+
1863+[dev-dependencies]
1864+trybuild = "1.0.18"
1865+rustversion = "1.0"
1866+serde_json = "1.0"
1867+serde_test = "1.0.19"
1868+serde_lib = { version = "1.0.103", features = ["derive"], package = "serde" }
1869+zerocopy = { version = "0.8", features = ["derive"] }
1870+arbitrary = { version = "1.0", features = ["derive"] }
1871+bytemuck = { version = "1.12.2", features = ["derive"] }
1872+
1873+[features]
1874+std = []
1875+serde = ["serde_core"]
1876+example_generated = []
1877+
1878+[package.metadata.docs.rs]
1879+features = ["example_generated"]
1880diff --git a/rust-vendor/bitflags/README.md b/rust-vendor/bitflags/README.md
1881index fcb1a41..5f8a1be 100644
1882--- a/rust-vendor/bitflags/README.md
1883+++ b/rust-vendor/bitflags/README.md
1884@@ -28,7 +28,7 @@ Add this to your `Cargo.toml`:
1885
1886 ```toml
1887 [dependencies]
1888-bitflags = "2.9.4"
1889+bitflags = "2.10.0"
1890 ```
1891
1892 and this to your source code:
1893diff --git a/rust-vendor/bitflags/src/external.rs b/rust-vendor/bitflags/src/external.rs
1894index 716af83..a60abec 100644
1895--- a/rust-vendor/bitflags/src/external.rs
1896+++ b/rust-vendor/bitflags/src/external.rs
1897@@ -67,7 +67,7 @@ __impl_external_bitflags_my_library! {
1898
1899 pub(crate) mod __private {
1900 #[cfg(feature = "serde")]
1901- pub use serde;
1902+ pub use serde_core as serde;
1903
1904 #[cfg(feature = "arbitrary")]
1905 pub use arbitrary;
1906diff --git a/rust-vendor/bitflags/src/external/serde.rs b/rust-vendor/bitflags/src/external/serde.rs
1907index be4f2ed..ff327b4 100644
1908--- a/rust-vendor/bitflags/src/external/serde.rs
1909+++ b/rust-vendor/bitflags/src/external/serde.rs
1910@@ -5,7 +5,7 @@ use crate::{
1911 Flags,
1912 };
1913 use core::{fmt, str};
1914-use serde::{
1915+use serde_core::{
1916 de::{Error, Visitor},
1917 Deserialize, Deserializer, Serialize, Serializer,
1918 };
1919@@ -69,9 +69,10 @@ where
1920 #[cfg(test)]
1921 mod tests {
1922 use serde_test::{assert_tokens, Configure, Token::*};
1923+
1924 bitflags! {
1925- #[derive(serde_derive::Serialize, serde_derive::Deserialize, Debug, PartialEq, Eq)]
1926- #[serde(transparent)]
1927+ #[derive(serde_lib::Serialize, serde_lib::Deserialize, Debug, PartialEq, Eq)]
1928+ #[serde(crate = "serde_lib", transparent)]
1929 struct SerdeFlags: u32 {
1930 const A = 1;
1931 const B = 2;
1932diff --git a/rust-vendor/bitflags/src/iter.rs b/rust-vendor/bitflags/src/iter.rs
1933index 7f7ce55..ae0efc9 100644
1934--- a/rust-vendor/bitflags/src/iter.rs
1935+++ b/rust-vendor/bitflags/src/iter.rs
1936@@ -143,3 +143,40 @@ impl<B: Flags> Iterator for IterNames<B> {
1937 None
1938 }
1939 }
1940+
1941+/**
1942+An iterator over all defined named flags.
1943+
1944+This iterator will yield flags values for all defined named flags, regardless of
1945+whether they are contained in a particular flags value.
1946+*/
1947+pub struct IterDefinedNames<B: 'static> {
1948+ flags: &'static [Flag<B>],
1949+ idx: usize,
1950+}
1951+
1952+impl<B: Flags> IterDefinedNames<B> {
1953+ pub(crate) fn new() -> Self {
1954+ IterDefinedNames {
1955+ flags: B::FLAGS,
1956+ idx: 0,
1957+ }
1958+ }
1959+}
1960+
1961+impl<B: Flags> Iterator for IterDefinedNames<B> {
1962+ type Item = (&'static str, B);
1963+
1964+ fn next(&mut self) -> Option<Self::Item> {
1965+ while let Some(flag) = self.flags.get(self.idx) {
1966+ self.idx += 1;
1967+
1968+ // Only yield named flags
1969+ if flag.is_named() {
1970+ return Some((flag.name(), B::from_bits_retain(flag.value().bits())));
1971+ }
1972+ }
1973+
1974+ None
1975+ }
1976+}
1977diff --git a/rust-vendor/bitflags/src/lib.rs b/rust-vendor/bitflags/src/lib.rs
1978index 1c9cd40..b672ec0 100644
1979--- a/rust-vendor/bitflags/src/lib.rs
1980+++ b/rust-vendor/bitflags/src/lib.rs
1981@@ -17,7 +17,7 @@ Add `bitflags` to your `Cargo.toml`:
1982
1983 ```toml
1984 [dependencies.bitflags]
1985-version = "2.9.3"
1986+version = "2.10.0"
1987 ```
1988
1989 ## Crate features
1990diff --git a/rust-vendor/bitflags/src/tests/iter.rs b/rust-vendor/bitflags/src/tests/iter.rs
1991index 54b1d27..d4b2ea0 100644
1992--- a/rust-vendor/bitflags/src/tests/iter.rs
1993+++ b/rust-vendor/bitflags/src/tests/iter.rs
1994@@ -207,3 +207,93 @@ mod iter_names {
1995 );
1996 }
1997 }
1998+
1999+mod iter_defined_names {
2000+ use crate::Flags;
2001+
2002+ #[test]
2003+ fn test_defined_names() {
2004+ bitflags! {
2005+ #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
2006+ struct TestFlags: u32 {
2007+ const A = 0b00000001;
2008+ const ZERO = 0;
2009+ const B = 0b00000010;
2010+ const C = 0b00000100;
2011+ const CC = Self::C.bits();
2012+ const D = 0b10000100;
2013+ const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
2014+ const AB = Self::A.bits() | Self::B.bits();
2015+ const AC = Self::A.bits() | Self::C.bits();
2016+ const CB = Self::B.bits() | Self::C.bits();
2017+ }
2018+ }
2019+
2020+ // Test all named flags produced by the iterator
2021+ let all_named: Vec<(&'static str, TestFlags)> = TestFlags::iter_defined_names().collect();
2022+
2023+ // Verify all named flags are included
2024+ let expected_flags = vec![
2025+ ("A", TestFlags::A),
2026+ ("ZERO", TestFlags::ZERO),
2027+ ("B", TestFlags::B),
2028+ ("C", TestFlags::C),
2029+ // Note: CC and C have the same bit value, but both are named flags
2030+ ("CC", TestFlags::CC),
2031+ ("D", TestFlags::D),
2032+ ("ABC", TestFlags::ABC),
2033+ ("AB", TestFlags::AB),
2034+ ("AC", TestFlags::AC),
2035+ ("CB", TestFlags::CB),
2036+ ];
2037+
2038+ assert_eq!(
2039+ all_named.len(),
2040+ expected_flags.len(),
2041+ "Should have 10 named flags"
2042+ );
2043+
2044+ // Verify each expected flag is in the result
2045+ for expected_flag in &expected_flags {
2046+ assert!(
2047+ all_named.contains(expected_flag),
2048+ "Missing flag: {:?}",
2049+ expected_flag
2050+ );
2051+ }
2052+
2053+ // Test if iterator order is consistent with definition order
2054+ let flags_in_order: Vec<(&'static str, TestFlags)> =
2055+ TestFlags::iter_defined_names().collect();
2056+ assert_eq!(
2057+ flags_in_order, expected_flags,
2058+ "Flag order should match definition order"
2059+ );
2060+
2061+ // Test that iterator can be used multiple times
2062+ let first_iteration: Vec<(&'static str, TestFlags)> =
2063+ TestFlags::iter_defined_names().collect();
2064+ let second_iteration: Vec<(&'static str, TestFlags)> =
2065+ TestFlags::iter_defined_names().collect();
2066+ assert_eq!(
2067+ first_iteration, second_iteration,
2068+ "Multiple iterations should produce the same result"
2069+ );
2070+
2071+ // Test consistency with FLAGS constant
2072+ let flags_from_iter: std::collections::HashSet<u32> = TestFlags::iter_defined_names()
2073+ .map(|(_, f)| f.bits())
2074+ .collect();
2075+
2076+ let flags_from_const: std::collections::HashSet<u32> = TestFlags::FLAGS
2077+ .iter()
2078+ .filter(|f| f.is_named())
2079+ .map(|f| f.value().bits())
2080+ .collect();
2081+
2082+ assert_eq!(
2083+ flags_from_iter, flags_from_const,
2084+ "iter_defined_names() should be consistent with named flags in FLAGS"
2085+ );
2086+ }
2087+}
2088diff --git a/rust-vendor/bitflags/src/traits.rs b/rust-vendor/bitflags/src/traits.rs
2089index d7c4d13..efb4387 100644
2090--- a/rust-vendor/bitflags/src/traits.rs
2091+++ b/rust-vendor/bitflags/src/traits.rs
2092@@ -218,6 +218,11 @@ pub trait Flags: Sized + 'static {
2093 iter::IterNames::new(self)
2094 }
2095
2096+ /// Yield a set of all named flags defined by [`Self::FLAGS`].
2097+ fn iter_defined_names() -> iter::IterDefinedNames<Self> {
2098+ iter::IterDefinedNames::new()
2099+ }
2100+
2101 /// Whether all bits in this flags value are unset.
2102 fn is_empty(&self) -> bool {
2103 self.bits() == Self::Bits::EMPTY
2104diff --git a/rust-vendor/cc/.cargo-checksum.json b/rust-vendor/cc/.cargo-checksum.json
2105deleted file mode 100644
2106index 679a39c..0000000
2107--- a/rust-vendor/cc/.cargo-checksum.json
2108+++ /dev/null
2109@@ -1 +0,0 @@
2110-{"files":{},"package":"ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"}
2111\ No newline at end of file
2112diff --git a/rust-vendor/cc/.cargo_vcs_info.json b/rust-vendor/cc/.cargo_vcs_info.json
2113new file mode 100644
2114index 0000000..b4929db
2115--- /dev/null
2116+++ b/rust-vendor/cc/.cargo_vcs_info.json
2117@@ -0,0 +1,6 @@
2118+{
2119+ "git": {
2120+ "sha1": "9ec00e4bf2a8b087760245b0ec721fb3bd59731f"
2121+ },
2122+ "path_in_vcs": ""
2123+}
2124\ No newline at end of file
2125diff --git a/rust-vendor/cc/CHANGELOG.md b/rust-vendor/cc/CHANGELOG.md
2126index a90dc67..023613d 100644
2127--- a/rust-vendor/cc/CHANGELOG.md
2128+++ b/rust-vendor/cc/CHANGELOG.md
2129@@ -7,6 +7,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2130
2131 ## [Unreleased]
2132
2133+## [1.2.49](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.48...cc-v1.2.49) - 2025-12-06
2134+
2135+### Other
2136+
2137+- Fix run_output to prevent infinite blocking ([#1627](https://github.com/rust-lang/cc-rs/pull/1627))
2138+- Fix detect_family deadlock ([#1626](https://github.com/rust-lang/cc-rs/pull/1626))
2139+- Fix link in new debug_str doc comment ([#1625](https://github.com/rust-lang/cc-rs/pull/1625))
2140+- Support more of Cargo's debug levels with Build::debug_str ([#1624](https://github.com/rust-lang/cc-rs/pull/1624))
2141+
2142+## [1.2.48](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.47...cc-v1.2.48) - 2025-11-28
2143+
2144+### Other
2145+
2146+- Regenerate target info ([#1620](https://github.com/rust-lang/cc-rs/pull/1620))
2147+
2148+## [1.2.47](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.46...cc-v1.2.47) - 2025-11-21
2149+
2150+### Other
2151+
2152+- add helenos linker identifications ([#1615](https://github.com/rust-lang/cc-rs/pull/1615))
2153+
2154+## [1.2.46](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.45...cc-v1.2.46) - 2025-11-14
2155+
2156+### Other
2157+
2158+- Add Visual Studio 2026 support ([#1609](https://github.com/rust-lang/cc-rs/pull/1609))
2159+
2160+## [1.2.45](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.44...cc-v1.2.45) - 2025-11-07
2161+
2162+### Other
2163+
2164+- Regenerate target info ([#1606](https://github.com/rust-lang/cc-rs/pull/1606))
2165+- Use a default check for the "env" variable in apple_sdk_name ([#1605](https://github.com/rust-lang/cc-rs/pull/1605))
2166+
2167+## [1.2.44](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.43...cc-v1.2.44) - 2025-10-31
2168+
2169+### Other
2170+
2171+- Fix debug assertion for env/abi mismatch ([#1604](https://github.com/rust-lang/cc-rs/pull/1604))
2172+- Update CHANGELOG for version 1.2.43 ([#1602](https://github.com/rust-lang/cc-rs/pull/1602))
2173+- Stop passing an invalid target to `llvm-mingw`'s cross-compilation wrappers ([#1495](https://github.com/rust-lang/cc-rs/pull/1495))
2174+
2175+## [1.2.43](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.42...cc-v1.2.43) - 2025-10-24
2176+
2177+### Other
2178+
2179+- Mark `static_flag` and `shared_flag` as deprecated ([#1582](https://github.com/rust-lang/cc-rs/pull/1582))
2180+
2181+## [1.2.42](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.41...cc-v1.2.42) - 2025-10-24
2182+
2183+### Other
2184+
2185+- Fix check-semver-checks ([#1600](https://github.com/rust-lang/cc-rs/pull/1600))
2186+- minor improvement for docs ([#1598](https://github.com/rust-lang/cc-rs/pull/1598))
2187+- Fix linker-plugin-lto: use `-flto=thin` ([#1594](https://github.com/rust-lang/cc-rs/pull/1594))
2188+- Disable check-buildstd for armv7k-apple-watchos ([#1599](https://github.com/rust-lang/cc-rs/pull/1599))
2189+- Add elf abi to ppc64 targets ([#1596](https://github.com/rust-lang/cc-rs/pull/1596))
2190+
2191 ## [1.2.41](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.40...cc-v1.2.41) - 2025-10-10
2192
2193 ### Other
2194diff --git a/rust-vendor/cc/Cargo.lock b/rust-vendor/cc/Cargo.lock
2195index 120fb02..8d057a5 100644
2196--- a/rust-vendor/cc/Cargo.lock
2197+++ b/rust-vendor/cc/Cargo.lock
2198@@ -4,13 +4,13 @@ version = 3
2199
2200 [[package]]
2201 name = "bitflags"
2202-version = "2.9.4"
2203+version = "2.10.0"
2204 source = "registry+https://github.com/rust-lang/crates.io-index"
2205-checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
2206+checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
2207
2208 [[package]]
2209 name = "cc"
2210-version = "1.2.41"
2211+version = "1.2.49"
2212 dependencies = [
2213 "find-msvc-tools",
2214 "jobserver",
2215@@ -21,9 +21,9 @@ dependencies = [
2216
2217 [[package]]
2218 name = "cfg-if"
2219-version = "1.0.3"
2220+version = "1.0.4"
2221 source = "registry+https://github.com/rust-lang/crates.io-index"
2222-checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
2223+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
2224
2225 [[package]]
2226 name = "errno"
2227@@ -43,20 +43,20 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
2228
2229 [[package]]
2230 name = "find-msvc-tools"
2231-version = "0.1.4"
2232+version = "0.1.5"
2233 source = "registry+https://github.com/rust-lang/crates.io-index"
2234-checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127"
2235+checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
2236
2237 [[package]]
2238 name = "getrandom"
2239-version = "0.3.3"
2240+version = "0.3.4"
2241 source = "registry+https://github.com/rust-lang/crates.io-index"
2242-checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
2243+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
2244 dependencies = [
2245 "cfg-if",
2246 "libc",
2247 "r-efi",
2248- "wasi",
2249+ "wasip2",
2250 ]
2251
2252 [[package]]
2253@@ -71,9 +71,9 @@ dependencies = [
2254
2255 [[package]]
2256 name = "libc"
2257-version = "0.2.177"
2258+version = "0.2.178"
2259 source = "registry+https://github.com/rust-lang/crates.io-index"
2260-checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
2261+checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
2262
2263 [[package]]
2264 name = "linux-raw-sys"
2265@@ -126,15 +126,6 @@ dependencies = [
2266 ]
2267
2268 [[package]]
2269-name = "wasi"
2270-version = "0.14.7+wasi-0.2.4"
2271-source = "registry+https://github.com/rust-lang/crates.io-index"
2272-checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c"
2273-dependencies = [
2274- "wasip2",
2275-]
2276-
2277-[[package]]
2278 name = "wasip2"
2279 version = "1.0.1+wasi-0.2.4"
2280 source = "registry+https://github.com/rust-lang/crates.io-index"
2281diff --git a/rust-vendor/cc/Cargo.toml b/rust-vendor/cc/Cargo.toml
2282index 554e2fe..7693e18 100644
2283--- a/rust-vendor/cc/Cargo.toml
2284+++ b/rust-vendor/cc/Cargo.toml
2285@@ -13,7 +13,7 @@
2286 edition = "2018"
2287 rust-version = "1.63"
2288 name = "cc"
2289-version = "1.2.41"
2290+version = "1.2.49"
2291 authors = ["Alex Crichton <alex@alexcrichton.com>"]
2292 build = false
2293 exclude = [
2294@@ -51,7 +51,7 @@ name = "cc"
2295 path = "src/lib.rs"
2296
2297 [dependencies.find-msvc-tools]
2298-version = "0.1.4"
2299+version = "0.1.5"
2300
2301 [dependencies.jobserver]
2302 version = "0.1.30"
2303diff --git a/rust-vendor/cc/Cargo.toml.orig b/rust-vendor/cc/Cargo.toml.orig
2304new file mode 100644
2305index 0000000..0e1ac17
2306--- /dev/null
2307+++ b/rust-vendor/cc/Cargo.toml.orig
2308@@ -0,0 +1,59 @@
2309+[package]
2310+name = "cc"
2311+version = "1.2.49"
2312+authors = ["Alex Crichton <alex@alexcrichton.com>"]
2313+license = "MIT OR Apache-2.0"
2314+repository = "https://github.com/rust-lang/cc-rs"
2315+homepage = "https://github.com/rust-lang/cc-rs"
2316+documentation = "https://docs.rs/cc"
2317+description = """
2318+A build-time dependency for Cargo build scripts to assist in invoking the native
2319+C compiler to compile native C code into a static archive to be linked into Rust
2320+code.
2321+"""
2322+keywords = ["build-dependencies"]
2323+readme = "README.md"
2324+categories = ["development-tools::build-utils"]
2325+# The binary target is only used by tests.
2326+exclude = ["/.github", "tests", "src/bin"]
2327+edition = "2018"
2328+rust-version = "1.63"
2329+
2330+[dependencies]
2331+jobserver = { version = "0.1.30", default-features = false, optional = true }
2332+shlex = "1.3.0"
2333+find-msvc-tools = { version = "0.1.5", path = "find-msvc-tools" }
2334+
2335+[target.'cfg(unix)'.dependencies]
2336+# Don't turn on the feature "std" for this, see https://github.com/rust-lang/cargo/issues/4866
2337+# which is still an issue with `resolver = "1"`.
2338+libc = { version = "0.2.62", default-features = false, optional = true }
2339+
2340+[features]
2341+parallel = ["dep:libc", "dep:jobserver"]
2342+# This is a placeholder feature for people who incorrectly used `cc` with `features = ["jobserver"]`
2343+# so that they aren't broken. This has never enabled `parallel`, so we won't do that.
2344+jobserver = []
2345+
2346+[dev-dependencies]
2347+tempfile = "3"
2348+
2349+[workspace]
2350+members = [
2351+ "find-msvc-tools",
2352+ "dev-tools/cc-test",
2353+ "dev-tools/gen-target-info",
2354+ "dev-tools/gen-windows-sys-binding",
2355+ "dev-tools/wasi-test",
2356+]
2357+
2358+[patch.crates-io]
2359+cc = { path = "." }
2360+
2361+[lints.rust]
2362+unexpected_cfgs = { level = "allow", check-cfg = ['cfg(disable_clang_cl_tests)'] }
2363+
2364+[profile.release]
2365+opt-level = 3 # Or "s" or "z" for different optimization goals
2366+lto = true
2367+
2368diff --git a/rust-vendor/cc/src/command_helpers.rs b/rust-vendor/cc/src/command_helpers.rs
2369index b93ee26..3b01115 100644
2370--- a/rust-vendor/cc/src/command_helpers.rs
2371+++ b/rust-vendor/cc/src/command_helpers.rs
2372@@ -9,7 +9,7 @@ use std::{
2373 hash::Hasher,
2374 io::{self, Read, Write},
2375 path::Path,
2376- process::{Child, ChildStderr, Command, Stdio},
2377+ process::{Child, ChildStderr, Command, Output, Stdio},
2378 sync::{
2379 atomic::{AtomicBool, Ordering},
2380 Arc,
2381@@ -348,24 +348,45 @@ pub(crate) fn run(cmd: &mut Command, cargo_output: &CargoOutput) -> Result<(), E
2382 wait_on_child(cmd, &mut child, cargo_output)
2383 }
2384
2385-pub(crate) fn run_output(cmd: &mut Command, cargo_output: &CargoOutput) -> Result<Vec<u8>, Error> {
2386+pub(crate) fn spawn_and_wait_for_output(
2387+ cmd: &mut Command,
2388+ cargo_output: &CargoOutput,
2389+) -> Result<Output, Error> {
2390 // We specifically need the output to be captured, so override default
2391 let mut captured_cargo_output = cargo_output.clone();
2392 captured_cargo_output.output = OutputKind::Capture;
2393- let mut child = spawn(cmd, &captured_cargo_output)?;
2394+ spawn(cmd, &captured_cargo_output)?
2395+ .wait_with_output()
2396+ .map_err(|e| {
2397+ Error::new(
2398+ ErrorKind::ToolExecError,
2399+ format!("failed to wait on spawned child process `{cmd:?}`: {e}"),
2400+ )
2401+ })
2402+}
2403+
2404+pub(crate) fn run_output(cmd: &mut Command, cargo_output: &CargoOutput) -> Result<Vec<u8>, Error> {
2405+ let Output {
2406+ status,
2407+ stdout,
2408+ stderr,
2409+ } = spawn_and_wait_for_output(cmd, cargo_output)?;
2410
2411- let mut stdout = vec![];
2412- child
2413- .stdout
2414- .take()
2415- .unwrap()
2416- .read_to_end(&mut stdout)
2417- .unwrap();
2418+ stderr
2419+ .split(|&b| b == b'\n')
2420+ .filter(|part| !part.is_empty())
2421+ .for_each(write_warning);
2422
2423- // Don't care about this output, use the normal settings
2424- wait_on_child(cmd, &mut child, cargo_output)?;
2425+ cargo_output.print_debug(&status);
2426
2427- Ok(stdout)
2428+ if status.success() {
2429+ Ok(stdout)
2430+ } else {
2431+ Err(Error::new(
2432+ ErrorKind::ToolExecError,
2433+ format!("command did not execute successfully (status code {status}): {cmd:?}"),
2434+ ))
2435+ }
2436 }
2437
2438 pub(crate) fn spawn(cmd: &mut Command, cargo_output: &CargoOutput) -> Result<Child, Error> {
2439diff --git a/rust-vendor/cc/src/flags.rs b/rust-vendor/cc/src/flags.rs
2440index 5598c07..67ad847 100644
2441--- a/rust-vendor/cc/src/flags.rs
2442+++ b/rust-vendor/cc/src/flags.rs
2443@@ -140,6 +140,8 @@ impl<'this> RustcCodegenFlags<'this> {
2444 // https://doc.rust-lang.org/rustc/codegen-options/index.html#control-flow-guard
2445 "-Ccontrol-flow-guard" => self.control_flow_guard = value.or(Some("true")),
2446 // https://doc.rust-lang.org/rustc/codegen-options/index.html#lto
2447+ //
2448+ // This variable is currently unused, we just keep it in case we need it in future
2449 "-Clto" => self.lto = value.or(Some("true")),
2450 // https://doc.rust-lang.org/rustc/linker-plugin-lto.html
2451 "-Clinker-plugin-lto" => self.linker_plugin_lto = Some(true),
2452@@ -164,7 +166,7 @@ impl<'this> RustcCodegenFlags<'this> {
2453 self.branch_protection = flag_not_empty(value)?;
2454 }
2455 // https://doc.rust-lang.org/beta/unstable-book/compiler-flags/dwarf-version.html
2456- // FIXME: Drop the -Z variant and update the doc link once the option is stablized
2457+ // FIXME: Drop the -Z variant and update the doc link once the option is stabilized
2458 "-Zdwarf-version" | "-Cdwarf-version" => {
2459 self.dwarf_version = flag_not_empty_generic(flag, value.and_then(arg_to_u32))?;
2460 }
2461@@ -322,11 +324,12 @@ impl<'this> RustcCodegenFlags<'this> {
2462 // https://doc.rust-lang.org/rustc/linker-plugin-lto.html
2463 if self.linker_plugin_lto.unwrap_or(false) {
2464 // https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-flto
2465- let cc_val = match self.lto {
2466- Some("thin") => "thin",
2467- _ => "full",
2468- };
2469- push_if_supported(format!("-flto={cc_val}").into());
2470+ // In order to use linker-plugin-lto to achieve cross-lang lto, cc has to use thin LTO
2471+ // to compile the c/c++ libraries because llvm linker plugin/lld uses thin LTO by default.
2472+ // And for thin LTO in linker plugin to work, the archive also has to be compiled using thin LTO,
2473+ // since thin LTO generates extra information that fat LTO does not generate that
2474+ // is required for thin LTO process.
2475+ push_if_supported("-flto=thin".into());
2476 }
2477 // https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mguard
2478 if let Some(value) = self.control_flow_guard {
2479diff --git a/rust-vendor/cc/src/lib.rs b/rust-vendor/cc/src/lib.rs
2480index 865eb31..71ec1ca 100644
2481--- a/rust-vendor/cc/src/lib.rs
2482+++ b/rust-vendor/cc/src/lib.rs
2483@@ -312,6 +312,8 @@ pub mod windows_registry {
2484 Vs16,
2485 /// Visual Studio 17 (2022)
2486 Vs17,
2487+ /// Visual Studio 18 (2026)
2488+ Vs18,
2489 }
2490
2491 /// Find the most recent installed version of Visual Studio
2492@@ -326,6 +328,7 @@ pub mod windows_registry {
2493 ::find_msvc_tools::VsVers::Vs15 => VsVers::Vs15,
2494 ::find_msvc_tools::VsVers::Vs16 => VsVers::Vs16,
2495 ::find_msvc_tools::VsVers::Vs17 => VsVers::Vs17,
2496+ ::find_msvc_tools::VsVers::Vs18 => VsVers::Vs18,
2497 _ => unreachable!("unknown VS version"),
2498 })
2499 }
2500@@ -402,7 +405,7 @@ pub struct Build {
2501 host: Option<Arc<str>>,
2502 out_dir: Option<Arc<Path>>,
2503 opt_level: Option<Arc<str>>,
2504- debug: Option<bool>,
2505+ debug: Option<Arc<str>>,
2506 force_frame_pointer: Option<bool>,
2507 env: Vec<(Arc<OsStr>, Arc<OsStr>)>,
2508 compiler: Option<Arc<Path>>,
2509@@ -783,17 +786,19 @@ impl Build {
2510
2511 /// Set the `-shared` flag.
2512 ///
2513- /// When enabled, the compiler will produce a shared object which can
2514- /// then be linked with other objects to form an executable.
2515+ /// This will typically be ignored by the compiler when calling [`Self::compile()`] since it only
2516+ /// produces static libraries.
2517 ///
2518 /// # Example
2519 ///
2520 /// ```no_run
2521+ /// // This will create a library named "liblibfoo.so.a"
2522 /// cc::Build::new()
2523 /// .file("src/foo.c")
2524 /// .shared_flag(true)
2525 /// .compile("libfoo.so");
2526 /// ```
2527+ #[deprecated = "cc only creates static libraries, setting this does nothing"]
2528 pub fn shared_flag(&mut self, shared_flag: bool) -> &mut Build {
2529 self.shared_flag = Some(shared_flag);
2530 self
2531@@ -801,8 +806,8 @@ impl Build {
2532
2533 /// Set the `-static` flag.
2534 ///
2535- /// When enabled on systems that support dynamic linking, this prevents
2536- /// linking with the shared libraries.
2537+ /// This will typically be ignored by the compiler when calling [`Self::compile()`] since it only
2538+ /// produces static libraries.
2539 ///
2540 /// # Example
2541 ///
2542@@ -813,6 +818,7 @@ impl Build {
2543 /// .static_flag(true)
2544 /// .compile("foo");
2545 /// ```
2546+ #[deprecated = "cc only creates static libraries, setting this does nothing"]
2547 pub fn static_flag(&mut self, static_flag: bool) -> &mut Build {
2548 self.static_flag = Some(static_flag);
2549 self
2550@@ -1174,7 +1180,23 @@ impl Build {
2551 /// This option is automatically scraped from the `DEBUG` environment
2552 /// variable by build scripts, so it's not required to call this function.
2553 pub fn debug(&mut self, debug: bool) -> &mut Build {
2554- self.debug = Some(debug);
2555+ self.debug = Some(debug.to_string().into());
2556+ self
2557+ }
2558+
2559+ /// Configures whether the compiler will emit debug information when
2560+ /// generating object files.
2561+ ///
2562+ /// This should be one of the values accepted by Cargo's [`debug`][1]
2563+ /// profile setting, which cc-rs will try to map to the appropriate C
2564+ /// compiler flag.
2565+ ///
2566+ /// This option is automatically scraped from the `DEBUG` environment
2567+ /// variable by build scripts, so it's not required to call this function.
2568+ ///
2569+ /// [1]: https://doc.rust-lang.org/cargo/reference/profiles.html#debug
2570+ pub fn debug_str(&mut self, debug: &str) -> &mut Build {
2571+ self.debug = Some(debug.into());
2572 self
2573 }
2574
2575@@ -1319,7 +1341,7 @@ impl Build {
2576 /// always run on every compilation if no rerun cargo metadata is emitted.
2577 ///
2578 /// NOTE that cc does not emit metadata to detect changes for `PATH`, since it could
2579- /// be changed every comilation yet does not affect the result of compilation
2580+ /// be changed every compilation yet does not affect the result of compilation
2581 /// (i.e. rust-analyzer adds temporary directory to `PATH`).
2582 ///
2583 /// cc in general, has no way detecting changes to compiler, as there are so many ways to
2584@@ -1805,7 +1827,7 @@ impl Build {
2585 is_arm,
2586 },
2587 );
2588- // armasm and armasm64 don't requrie -c option
2589+ // armasm and armasm64 don't require -c option
2590 if !is_assembler_msvc || !is_arm {
2591 cmd.arg("-c");
2592 }
2593@@ -2155,7 +2177,11 @@ impl Build {
2594 cmd.args.push("-G".into());
2595 }
2596 let family = cmd.family;
2597- family.add_debug_flags(cmd, self.get_dwarf_version());
2598+ family.add_debug_flags(
2599+ cmd,
2600+ self.get_debug_str().as_deref().unwrap_or_default(),
2601+ self.get_dwarf_version(),
2602+ );
2603 }
2604
2605 if self.get_force_frame_pointer() {
2606@@ -3038,6 +3064,23 @@ impl Build {
2607 };
2608 }
2609
2610+ // Under cross-compilation scenarios, llvm-mingw's clang executable is just a
2611+ // wrapper script that calls the actual clang binary with a suitable `--target`
2612+ // argument, much like the Android NDK case outlined above. Passing a target
2613+ // argument ourselves in this case will result in an error, as they expect
2614+ // targets like `x86_64-w64-mingw32`, and we can't always set such a target
2615+ // string because it is specific to this MinGW cross-compilation toolchain.
2616+ //
2617+ // For example, the following command will always fail due to using an unsuitable
2618+ // `--target` argument we'd otherwise pass:
2619+ // $ /opt/llvm-mingw-20250613-ucrt-ubuntu-22.04-x86_64/bin/x86_64-w64-mingw32-clang --target=x86_64-pc-windows-gnu dummy.c
2620+ //
2621+ // Code reference:
2622+ // https://github.com/mstorsjo/llvm-mingw/blob/a1f6413e5c21fd74b64137b56167f4fba500d1d8/wrappers/clang-target-wrapper.sh#L31
2623+ if !cfg!(windows) && target.os == "windows" && is_llvm_mingw_wrapper(&tool.path) {
2624+ tool.has_internal_target_arg = true;
2625+ }
2626+
2627 // If we found `cl.exe` in our environment, the tool we're returning is
2628 // an MSVC-like tool, *and* no env vars were set then set env vars for
2629 // the tool that we're returning.
2630@@ -3480,11 +3523,13 @@ impl Build {
2631 // Note: there is no `aarch64-pc-windows-gnu` target, only `-gnullvm`
2632 "aarch64-pc-windows-gnullvm" => Some("aarch64-w64-mingw32"),
2633 "aarch64-uwp-windows-gnu" => Some("aarch64-w64-mingw32"),
2634+ "aarch64-unknown-helenos" => Some("aarch64-helenos"),
2635 "aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
2636 "aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
2637 "aarch64-unknown-netbsd" => Some("aarch64--netbsd"),
2638 "arm-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
2639 "armv4t-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
2640+ "armv5te-unknown-helenos-eabi" => Some("arm-helenos"),
2641 "armv5te-unknown-linux-gnueabi" => Some("arm-linux-gnueabi"),
2642 "armv5te-unknown-linux-musleabi" => Some("arm-linux-gnueabi"),
2643 "arm-unknown-linux-gnueabihf" => Some("arm-linux-gnueabihf"),
2644@@ -3507,6 +3552,7 @@ impl Build {
2645 "i686-pc-windows-gnu" => Some("i686-w64-mingw32"),
2646 "i686-pc-windows-gnullvm" => Some("i686-w64-mingw32"),
2647 "i686-uwp-windows-gnu" => Some("i686-w64-mingw32"),
2648+ "i686-unknown-helenos" => Some("i686-helenos"),
2649 "i686-unknown-linux-gnu" => self.find_working_gnu_prefix(&[
2650 "i686-linux-gnu",
2651 "x86_64-linux-gnu", // transparently support gcc-multilib
2652@@ -3525,6 +3571,7 @@ impl Build {
2653 "mipsisa32r6el-unknown-linux-gnu" => Some("mipsisa32r6el-linux-gnu"),
2654 "mipsisa64r6-unknown-linux-gnuabi64" => Some("mipsisa64r6-linux-gnuabi64"),
2655 "mipsisa64r6el-unknown-linux-gnuabi64" => Some("mipsisa64r6el-linux-gnuabi64"),
2656+ "powerpc-unknown-helenos" => Some("ppc-helenos"),
2657 "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
2658 "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
2659 "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
2660@@ -3569,6 +3616,7 @@ impl Build {
2661 "riscv64gc-unknown-netbsd" => Some("riscv64--netbsd"),
2662 "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
2663 "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
2664+ "sparc64-unknown-helenos" => Some("sparc64-helenos"),
2665 "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
2666 "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
2667 "sparcv9-sun-solaris" => Some("sparcv9-sun-solaris"),
2668@@ -3590,6 +3638,7 @@ impl Build {
2669 "x86_64-pc-windows-gnullvm" => Some("x86_64-w64-mingw32"),
2670 "x86_64-uwp-windows-gnu" => Some("x86_64-w64-mingw32"),
2671 "x86_64-rumprun-netbsd" => Some("x86_64-rumprun-netbsd"),
2672+ "x86_64-unknown-helenos" => Some("amd64-helenos"),
2673 "x86_64-unknown-linux-gnu" => self.find_working_gnu_prefix(&[
2674 "x86_64-linux-gnu", // rustfmt wrap
2675 ]), // explicit None if not found, so caller knows to fall back
2676@@ -3678,8 +3727,25 @@ impl Build {
2677 }
2678 }
2679
2680+ /// Returns true if *any* debug info is enabled.
2681+ ///
2682+ /// [`get_debug_str`] provides more detail.
2683 fn get_debug(&self) -> bool {
2684- self.debug.unwrap_or_else(|| self.getenv_boolean("DEBUG"))
2685+ match self.get_debug_str() {
2686+ Err(_) => false,
2687+ Ok(d) => match &*d {
2688+ // From https://doc.rust-lang.org/cargo/reference/profiles.html#debug
2689+ "" | "0" | "false" | "none" => false,
2690+ _ => true,
2691+ },
2692+ }
2693+ }
2694+
2695+ fn get_debug_str(&self) -> Result<Cow<'_, str>, Error> {
2696+ match &self.debug {
2697+ Some(d) => Ok(Cow::Borrowed(d)),
2698+ None => self.getenv_unwrap_str("DEBUG").map(Cow::Owned),
2699+ }
2700 }
2701
2702 fn get_shell_escaped_flags(&self) -> bool {
2703@@ -4241,6 +4307,17 @@ fn android_clang_compiler_uses_target_arg_internally(clang_path: &Path) -> bool
2704 false
2705 }
2706
2707+fn is_llvm_mingw_wrapper(clang_path: &Path) -> bool {
2708+ if let Some(filename) = clang_path
2709+ .file_name()
2710+ .and_then(|file_name| file_name.to_str())
2711+ {
2712+ filename.ends_with("-w64-mingw32-clang") || filename.ends_with("-w64-mingw32-clang++")
2713+ } else {
2714+ false
2715+ }
2716+}
2717+
2718 // FIXME: Use parsed target.
2719 fn autodetect_android_compiler(raw_target: &str, gnu: &str, clang: &str) -> PathBuf {
2720 let new_clang_key = match raw_target {
2721diff --git a/rust-vendor/cc/src/target/apple.rs b/rust-vendor/cc/src/target/apple.rs
2722deleted file mode 100644
2723index 70e8167..0000000
2724--- a/rust-vendor/cc/src/target/apple.rs
2725+++ /dev/null
2726@@ -1,49 +0,0 @@
2727-use super::TargetInfo;
2728-
2729-impl TargetInfo<'_> {
2730- pub(crate) fn apple_sdk_name(&self) -> &'static str {
2731- match (self.os, self.env) {
2732- ("macos", "") => "macosx",
2733- ("ios", "") => "iphoneos",
2734- ("ios", "sim") => "iphonesimulator",
2735- ("ios", "macabi") => "macosx",
2736- ("tvos", "") => "appletvos",
2737- ("tvos", "sim") => "appletvsimulator",
2738- ("watchos", "") => "watchos",
2739- ("watchos", "sim") => "watchsimulator",
2740- ("visionos", "") => "xros",
2741- ("visionos", "sim") => "xrsimulator",
2742- (os, _) => panic!("invalid Apple target OS {}", os),
2743- }
2744- }
2745-
2746- pub(crate) fn apple_version_flag(&self, min_version: &str) -> String {
2747- // There are many aliases for these, and `-mtargetos=` is preferred on Clang nowadays, but
2748- // for compatibility with older Clang, we use the earliest supported name here.
2749- //
2750- // NOTE: GCC does not support `-miphoneos-version-min=` etc. (because it does not support
2751- // iOS in general), but we specify them anyhow in case we actually have a Clang-like
2752- // compiler disguised as a GNU-like compiler, or in case GCC adds support for these in the
2753- // future.
2754- //
2755- // See also:
2756- // https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-mmacos-version-min
2757- // https://clang.llvm.org/docs/AttributeReference.html#availability
2758- // https://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html#index-mmacosx-version-min
2759- match (self.os, self.env) {
2760- ("macos", "") => format!("-mmacosx-version-min={min_version}"),
2761- ("ios", "") => format!("-miphoneos-version-min={min_version}"),
2762- ("ios", "sim") => format!("-mios-simulator-version-min={min_version}"),
2763- ("ios", "macabi") => format!("-mtargetos=ios{min_version}-macabi"),
2764- ("tvos", "") => format!("-mappletvos-version-min={min_version}"),
2765- ("tvos", "sim") => format!("-mappletvsimulator-version-min={min_version}"),
2766- ("watchos", "") => format!("-mwatchos-version-min={min_version}"),
2767- ("watchos", "sim") => format!("-mwatchsimulator-version-min={min_version}"),
2768- // `-mxros-version-min` does not exist
2769- // https://github.com/llvm/llvm-project/issues/88271
2770- ("visionos", "") => format!("-mtargetos=xros{min_version}"),
2771- ("visionos", "sim") => format!("-mtargetos=xros{min_version}-simulator"),
2772- (os, _) => panic!("invalid Apple target OS {}", os),
2773- }
2774- }
2775-}
2776diff --git a/rust-vendor/cc/src/target/generated.rs b/rust-vendor/cc/src/target/generated.rs
2777deleted file mode 100644
2778index 7a045b7..0000000
2779--- a/rust-vendor/cc/src/target/generated.rs
2780+++ /dev/null
2781@@ -1,316 +0,0 @@
2782-//! This file is generated code. Please edit the generator in
2783-//! dev-tools/gen-target-info if you need to make changes, or see
2784-//! src/target/llvm.rs if you need to configure a specific LLVM triple.
2785-
2786-#[rustfmt::skip]
2787-pub(crate) const LLVM_TARGETS: &[(&str, &str)] = &[
2788- ("aarch64-apple-darwin", "arm64-apple-macosx"),
2789- ("aarch64-apple-ios", "arm64-apple-ios"),
2790- ("aarch64-apple-ios-macabi", "arm64-apple-ios-macabi"),
2791- ("aarch64-apple-ios-sim", "arm64-apple-ios-simulator"),
2792- ("aarch64-apple-tvos", "arm64-apple-tvos"),
2793- ("aarch64-apple-tvos-sim", "arm64-apple-tvos-simulator"),
2794- ("aarch64-apple-visionos", "arm64-apple-xros"),
2795- ("aarch64-apple-visionos-sim", "arm64-apple-xros-simulator"),
2796- ("aarch64-apple-watchos", "arm64-apple-watchos"),
2797- ("aarch64-apple-watchos-sim", "arm64-apple-watchos-simulator"),
2798- ("aarch64-fuchsia", "aarch64-fuchsia"),
2799- ("aarch64-kmc-solid_asp3", "aarch64-unknown-none"),
2800- ("aarch64-linux-android", "aarch64-linux-android"),
2801- ("aarch64-nintendo-switch-freestanding", "aarch64-unknown-none"),
2802- ("aarch64-pc-windows-gnullvm", "aarch64-pc-windows-gnu"),
2803- ("aarch64-pc-windows-msvc", "aarch64-pc-windows-msvc"),
2804- ("aarch64-unknown-freebsd", "aarch64-unknown-freebsd"),
2805- ("aarch64-unknown-fuchsia", "aarch64-unknown-fuchsia"),
2806- ("aarch64-unknown-hermit", "aarch64-unknown-hermit"),
2807- ("aarch64-unknown-illumos", "aarch64-unknown-solaris2.11"),
2808- ("aarch64-unknown-linux-gnu", "aarch64-unknown-linux-gnu"),
2809- ("aarch64-unknown-linux-gnu_ilp32", "aarch64-unknown-linux-gnu_ilp32"),
2810- ("aarch64-unknown-linux-musl", "aarch64-unknown-linux-musl"),
2811- ("aarch64-unknown-linux-ohos", "aarch64-unknown-linux-ohos"),
2812- ("aarch64-unknown-managarm-mlibc", "aarch64-unknown-managarm-mlibc"),
2813- ("aarch64-unknown-netbsd", "aarch64-unknown-netbsd"),
2814- ("aarch64-unknown-none", "aarch64-unknown-none"),
2815- ("aarch64-unknown-none-softfloat", "aarch64-unknown-none"),
2816- ("aarch64-unknown-nto-qnx700", "aarch64-unknown-unknown"),
2817- ("aarch64-unknown-nto-qnx710", "aarch64-unknown-unknown"),
2818- ("aarch64-unknown-nto-qnx710_iosock", "aarch64-unknown-unknown"),
2819- ("aarch64-unknown-nto-qnx800", "aarch64-unknown-unknown"),
2820- ("aarch64-unknown-nuttx", "aarch64-unknown-none"),
2821- ("aarch64-unknown-openbsd", "aarch64-unknown-openbsd"),
2822- ("aarch64-unknown-redox", "aarch64-unknown-redox"),
2823- ("aarch64-unknown-teeos", "aarch64-unknown-none"),
2824- ("aarch64-unknown-trusty", "aarch64-unknown-unknown-musl"),
2825- ("aarch64-unknown-uefi", "aarch64-unknown-windows"),
2826- ("aarch64-uwp-windows-msvc", "aarch64-pc-windows-msvc"),
2827- ("aarch64-wrs-vxworks", "aarch64-unknown-linux-gnu"),
2828- ("aarch64_be-unknown-hermit", "aarch64_be-unknown-hermit"),
2829- ("aarch64_be-unknown-linux-gnu", "aarch64_be-unknown-linux-gnu"),
2830- ("aarch64_be-unknown-linux-gnu_ilp32", "aarch64_be-unknown-linux-gnu_ilp32"),
2831- ("aarch64_be-unknown-linux-musl", "aarch64_be-unknown-linux-musl"),
2832- ("aarch64_be-unknown-netbsd", "aarch64_be-unknown-netbsd"),
2833- ("aarch64_be-unknown-none-softfloat", "aarch64_be-unknown-none"),
2834- ("amdgcn-amd-amdhsa", "amdgcn-amd-amdhsa"),
2835- ("arm-linux-androideabi", "arm-linux-androideabi"),
2836- ("arm-unknown-linux-gnueabi", "arm-unknown-linux-gnueabi"),
2837- ("arm-unknown-linux-gnueabihf", "arm-unknown-linux-gnueabihf"),
2838- ("arm-unknown-linux-musleabi", "arm-unknown-linux-musleabi"),
2839- ("arm-unknown-linux-musleabihf", "arm-unknown-linux-musleabihf"),
2840- ("arm64_32-apple-watchos", "arm64_32-apple-watchos"),
2841- ("arm64e-apple-darwin", "arm64e-apple-macosx"),
2842- ("arm64e-apple-ios", "arm64e-apple-ios"),
2843- ("arm64e-apple-tvos", "arm64e-apple-tvos"),
2844- ("arm64ec-pc-windows-msvc", "arm64ec-pc-windows-msvc"),
2845- ("armeb-unknown-linux-gnueabi", "armeb-unknown-linux-gnueabi"),
2846- ("armebv7r-none-eabi", "armebv7r-none-eabi"),
2847- ("armebv7r-none-eabihf", "armebv7r-none-eabihf"),
2848- ("armv4t-none-eabi", "armv4t-none-eabi"),
2849- ("armv4t-unknown-linux-gnueabi", "armv4t-unknown-linux-gnueabi"),
2850- ("armv5te-none-eabi", "armv5te-none-eabi"),
2851- ("armv5te-unknown-linux-gnueabi", "armv5te-unknown-linux-gnueabi"),
2852- ("armv5te-unknown-linux-musleabi", "armv5te-unknown-linux-musleabi"),
2853- ("armv5te-unknown-linux-uclibceabi", "armv5te-unknown-linux-gnueabi"),
2854- ("armv6-unknown-freebsd", "armv6-unknown-freebsd-gnueabihf"),
2855- ("armv6-unknown-netbsd-eabihf", "armv6-unknown-netbsdelf-eabihf"),
2856- ("armv6k-nintendo-3ds", "armv6k-none-eabihf"),
2857- ("armv7-apple-ios", "armv7-apple-ios7.0.0"),
2858- ("armv7-linux-androideabi", "armv7-none-linux-android"),
2859- ("armv7-rtems-eabihf", "armv7-unknown-none-eabihf"),
2860- ("armv7-sony-vita-newlibeabihf", "thumbv7a-sony-vita-eabihf"),
2861- ("armv7-unknown-freebsd", "armv7-unknown-freebsd-gnueabihf"),
2862- ("armv7-unknown-linux-gnueabi", "armv7-unknown-linux-gnueabi"),
2863- ("armv7-unknown-linux-gnueabihf", "armv7-unknown-linux-gnueabihf"),
2864- ("armv7-unknown-linux-musleabi", "armv7-unknown-linux-musleabi"),
2865- ("armv7-unknown-linux-musleabihf", "armv7-unknown-linux-musleabihf"),
2866- ("armv7-unknown-linux-ohos", "armv7-unknown-linux-ohos"),
2867- ("armv7-unknown-linux-uclibceabi", "armv7-unknown-linux-gnueabi"),
2868- ("armv7-unknown-linux-uclibceabihf", "armv7-unknown-linux-gnueabihf"),
2869- ("armv7-unknown-netbsd-eabihf", "armv7-unknown-netbsdelf-eabihf"),
2870- ("armv7-unknown-trusty", "armv7-unknown-unknown-gnueabi"),
2871- ("armv7-wrs-vxworks-eabihf", "armv7-unknown-linux-gnueabihf"),
2872- ("armv7a-kmc-solid_asp3-eabi", "armv7a-none-eabi"),
2873- ("armv7a-kmc-solid_asp3-eabihf", "armv7a-none-eabihf"),
2874- ("armv7a-none-eabi", "armv7a-none-eabi"),
2875- ("armv7a-none-eabihf", "armv7a-none-eabihf"),
2876- ("armv7a-nuttx-eabi", "armv7a-none-eabi"),
2877- ("armv7a-nuttx-eabihf", "armv7a-none-eabihf"),
2878- ("armv7a-vex-v5", "armv7a-none-eabihf"),
2879- ("armv7k-apple-watchos", "armv7k-apple-watchos"),
2880- ("armv7r-none-eabi", "armv7r-none-eabi"),
2881- ("armv7r-none-eabihf", "armv7r-none-eabihf"),
2882- ("armv7s-apple-ios", "armv7s-apple-ios"),
2883- ("armv8r-none-eabihf", "armv8r-none-eabihf"),
2884- ("asmjs-unknown-emscripten", "wasm32-unknown-emscripten"),
2885- ("avr-none", "avr-unknown-unknown"),
2886- ("avr-unknown-gnu-atmega328", "avr-unknown-unknown"),
2887- ("bpfeb-unknown-none", "bpfeb"),
2888- ("bpfel-unknown-none", "bpfel"),
2889- ("csky-unknown-linux-gnuabiv2", "csky-unknown-linux-gnuabiv2"),
2890- ("csky-unknown-linux-gnuabiv2hf", "csky-unknown-linux-gnuabiv2"),
2891- ("hexagon-unknown-linux-musl", "hexagon-unknown-linux-musl"),
2892- ("hexagon-unknown-none-elf", "hexagon-unknown-none-elf"),
2893- ("i386-apple-ios", "i386-apple-ios-simulator"),
2894- ("i586-pc-windows-msvc", "i586-pc-windows-msvc"),
2895- ("i586-unknown-linux-gnu", "i586-unknown-linux-gnu"),
2896- ("i586-unknown-linux-musl", "i586-unknown-linux-musl"),
2897- ("i586-unknown-netbsd", "i586-unknown-netbsdelf"),
2898- ("i586-unknown-redox", "i586-unknown-redox"),
2899- ("i686-apple-darwin", "i686-apple-macosx"),
2900- ("i686-linux-android", "i686-linux-android"),
2901- ("i686-pc-nto-qnx700", "i586-pc-unknown"),
2902- ("i686-pc-windows-gnu", "i686-pc-windows-gnu"),
2903- ("i686-pc-windows-gnullvm", "i686-pc-windows-gnu"),
2904- ("i686-pc-windows-msvc", "i686-pc-windows-msvc"),
2905- ("i686-unknown-freebsd", "i686-unknown-freebsd"),
2906- ("i686-unknown-haiku", "i686-unknown-haiku"),
2907- ("i686-unknown-hurd-gnu", "i686-unknown-hurd-gnu"),
2908- ("i686-unknown-linux-gnu", "i686-unknown-linux-gnu"),
2909- ("i686-unknown-linux-musl", "i686-unknown-linux-musl"),
2910- ("i686-unknown-netbsd", "i686-unknown-netbsdelf"),
2911- ("i686-unknown-openbsd", "i686-unknown-openbsd"),
2912- ("i686-unknown-uefi", "i686-unknown-windows-gnu"),
2913- ("i686-uwp-windows-gnu", "i686-pc-windows-gnu"),
2914- ("i686-uwp-windows-msvc", "i686-pc-windows-msvc"),
2915- ("i686-win7-windows-gnu", "i686-pc-windows-gnu"),
2916- ("i686-win7-windows-msvc", "i686-pc-windows-msvc"),
2917- ("i686-wrs-vxworks", "i686-unknown-linux-gnu"),
2918- ("loongarch32-unknown-none", "loongarch32-unknown-none"),
2919- ("loongarch32-unknown-none-softfloat", "loongarch32-unknown-none"),
2920- ("loongarch64-unknown-linux-gnu", "loongarch64-unknown-linux-gnu"),
2921- ("loongarch64-unknown-linux-musl", "loongarch64-unknown-linux-musl"),
2922- ("loongarch64-unknown-linux-ohos", "loongarch64-unknown-linux-ohos"),
2923- ("loongarch64-unknown-none", "loongarch64-unknown-none"),
2924- ("loongarch64-unknown-none-softfloat", "loongarch64-unknown-none"),
2925- ("m68k-unknown-linux-gnu", "m68k-unknown-linux-gnu"),
2926- ("m68k-unknown-none-elf", "m68k"),
2927- ("mips-mti-none-elf", "mips"),
2928- ("mips-unknown-linux-gnu", "mips-unknown-linux-gnu"),
2929- ("mips-unknown-linux-musl", "mips-unknown-linux-musl"),
2930- ("mips-unknown-linux-uclibc", "mips-unknown-linux-gnu"),
2931- ("mips64-openwrt-linux-musl", "mips64-unknown-linux-musl"),
2932- ("mips64-unknown-linux-gnuabi64", "mips64-unknown-linux-gnuabi64"),
2933- ("mips64-unknown-linux-muslabi64", "mips64-unknown-linux-musl"),
2934- ("mips64el-unknown-linux-gnuabi64", "mips64el-unknown-linux-gnuabi64"),
2935- ("mips64el-unknown-linux-muslabi64", "mips64el-unknown-linux-musl"),
2936- ("mipsel-mti-none-elf", "mipsel"),
2937- ("mipsel-sony-psp", "mipsel-sony-psp"),
2938- ("mipsel-sony-psx", "mipsel-sony-psx"),
2939- ("mipsel-unknown-linux-gnu", "mipsel-unknown-linux-gnu"),
2940- ("mipsel-unknown-linux-musl", "mipsel-unknown-linux-musl"),
2941- ("mipsel-unknown-linux-uclibc", "mipsel-unknown-linux-gnu"),
2942- ("mipsel-unknown-netbsd", "mipsel-unknown-netbsd"),
2943- ("mipsel-unknown-none", "mipsel-unknown-none"),
2944- ("mipsisa32r6-unknown-linux-gnu", "mipsisa32r6-unknown-linux-gnu"),
2945- ("mipsisa32r6el-unknown-linux-gnu", "mipsisa32r6el-unknown-linux-gnu"),
2946- ("mipsisa64r6-unknown-linux-gnuabi64", "mipsisa64r6-unknown-linux-gnuabi64"),
2947- ("mipsisa64r6el-unknown-linux-gnuabi64", "mipsisa64r6el-unknown-linux-gnuabi64"),
2948- ("msp430-none-elf", "msp430-none-elf"),
2949- ("nvptx64-nvidia-cuda", "nvptx64-nvidia-cuda"),
2950- ("powerpc-unknown-freebsd", "powerpc-unknown-freebsd13.0"),
2951- ("powerpc-unknown-linux-gnu", "powerpc-unknown-linux-gnu"),
2952- ("powerpc-unknown-linux-gnuspe", "powerpc-unknown-linux-gnuspe"),
2953- ("powerpc-unknown-linux-musl", "powerpc-unknown-linux-musl"),
2954- ("powerpc-unknown-linux-muslspe", "powerpc-unknown-linux-muslspe"),
2955- ("powerpc-unknown-netbsd", "powerpc-unknown-netbsd"),
2956- ("powerpc-unknown-openbsd", "powerpc-unknown-openbsd"),
2957- ("powerpc-wrs-vxworks", "powerpc-unknown-linux-gnu"),
2958- ("powerpc-wrs-vxworks-spe", "powerpc-unknown-linux-gnuspe"),
2959- ("powerpc64-ibm-aix", "powerpc64-ibm-aix"),
2960- ("powerpc64-unknown-freebsd", "powerpc64-unknown-freebsd"),
2961- ("powerpc64-unknown-linux-gnu", "powerpc64-unknown-linux-gnu"),
2962- ("powerpc64-unknown-linux-musl", "powerpc64-unknown-linux-musl"),
2963- ("powerpc64-unknown-openbsd", "powerpc64-unknown-openbsd"),
2964- ("powerpc64-wrs-vxworks", "powerpc64-unknown-linux-gnu"),
2965- ("powerpc64le-unknown-freebsd", "powerpc64le-unknown-freebsd"),
2966- ("powerpc64le-unknown-linux-gnu", "powerpc64le-unknown-linux-gnu"),
2967- ("powerpc64le-unknown-linux-musl", "powerpc64le-unknown-linux-musl"),
2968- ("riscv32-wrs-vxworks", "riscv32-unknown-linux-gnu"),
2969- ("riscv32e-unknown-none-elf", "riscv32"),
2970- ("riscv32em-unknown-none-elf", "riscv32"),
2971- ("riscv32emc-unknown-none-elf", "riscv32"),
2972- ("riscv32gc-unknown-linux-gnu", "riscv32-unknown-linux-gnu"),
2973- ("riscv32gc-unknown-linux-musl", "riscv32-unknown-linux-musl"),
2974- ("riscv32i-unknown-none-elf", "riscv32"),
2975- ("riscv32im-risc0-zkvm-elf", "riscv32"),
2976- ("riscv32im-unknown-none-elf", "riscv32"),
2977- ("riscv32ima-unknown-none-elf", "riscv32"),
2978- ("riscv32imac-esp-espidf", "riscv32"),
2979- ("riscv32imac-unknown-none-elf", "riscv32"),
2980- ("riscv32imac-unknown-nuttx-elf", "riscv32"),
2981- ("riscv32imac-unknown-xous-elf", "riscv32"),
2982- ("riscv32imafc-esp-espidf", "riscv32"),
2983- ("riscv32imafc-unknown-none-elf", "riscv32"),
2984- ("riscv32imafc-unknown-nuttx-elf", "riscv32"),
2985- ("riscv32imc-esp-espidf", "riscv32"),
2986- ("riscv32imc-unknown-none-elf", "riscv32"),
2987- ("riscv32imc-unknown-nuttx-elf", "riscv32"),
2988- ("riscv64-linux-android", "riscv64-linux-android"),
2989- ("riscv64-wrs-vxworks", "riscv64-unknown-linux-gnu"),
2990- ("riscv64a23-unknown-linux-gnu", "riscv64-unknown-linux-gnu"),
2991- ("riscv64gc-unknown-freebsd", "riscv64-unknown-freebsd"),
2992- ("riscv64gc-unknown-fuchsia", "riscv64-unknown-fuchsia"),
2993- ("riscv64gc-unknown-hermit", "riscv64-unknown-hermit"),
2994- ("riscv64gc-unknown-linux-gnu", "riscv64-unknown-linux-gnu"),
2995- ("riscv64gc-unknown-linux-musl", "riscv64-unknown-linux-musl"),
2996- ("riscv64gc-unknown-managarm-mlibc", "riscv64-unknown-managarm-mlibc"),
2997- ("riscv64gc-unknown-netbsd", "riscv64-unknown-netbsd"),
2998- ("riscv64gc-unknown-none-elf", "riscv64"),
2999- ("riscv64gc-unknown-nuttx-elf", "riscv64"),
3000- ("riscv64gc-unknown-openbsd", "riscv64-unknown-openbsd"),
3001- ("riscv64imac-unknown-none-elf", "riscv64"),
3002- ("riscv64imac-unknown-nuttx-elf", "riscv64"),
3003- ("s390x-unknown-linux-gnu", "s390x-unknown-linux-gnu"),
3004- ("s390x-unknown-linux-musl", "s390x-unknown-linux-musl"),
3005- ("sparc-unknown-linux-gnu", "sparc-unknown-linux-gnu"),
3006- ("sparc-unknown-none-elf", "sparc-unknown-none-elf"),
3007- ("sparc64-unknown-linux-gnu", "sparc64-unknown-linux-gnu"),
3008- ("sparc64-unknown-netbsd", "sparc64-unknown-netbsd"),
3009- ("sparc64-unknown-openbsd", "sparc64-unknown-openbsd"),
3010- ("sparcv9-sun-solaris", "sparcv9-sun-solaris"),
3011- ("thumbv4t-none-eabi", "thumbv4t-none-eabi"),
3012- ("thumbv5te-none-eabi", "thumbv5te-none-eabi"),
3013- ("thumbv6m-none-eabi", "thumbv6m-none-eabi"),
3014- ("thumbv6m-nuttx-eabi", "thumbv6m-none-eabi"),
3015- ("thumbv7a-nuttx-eabi", "thumbv7a-none-eabi"),
3016- ("thumbv7a-nuttx-eabihf", "thumbv7a-none-eabihf"),
3017- ("thumbv7a-pc-windows-msvc", "thumbv7a-pc-windows-msvc"),
3018- ("thumbv7a-uwp-windows-msvc", "thumbv7a-pc-windows-msvc"),
3019- ("thumbv7em-none-eabi", "thumbv7em-none-eabi"),
3020- ("thumbv7em-none-eabihf", "thumbv7em-none-eabihf"),
3021- ("thumbv7em-nuttx-eabi", "thumbv7em-none-eabi"),
3022- ("thumbv7em-nuttx-eabihf", "thumbv7em-none-eabihf"),
3023- ("thumbv7m-none-eabi", "thumbv7m-none-eabi"),
3024- ("thumbv7m-nuttx-eabi", "thumbv7m-none-eabi"),
3025- ("thumbv7neon-linux-androideabi", "armv7-none-linux-android"),
3026- ("thumbv7neon-unknown-linux-gnueabihf", "armv7-unknown-linux-gnueabihf"),
3027- ("thumbv7neon-unknown-linux-musleabihf", "armv7-unknown-linux-musleabihf"),
3028- ("thumbv8m.base-none-eabi", "thumbv8m.base-none-eabi"),
3029- ("thumbv8m.base-nuttx-eabi", "thumbv8m.base-none-eabi"),
3030- ("thumbv8m.main-none-eabi", "thumbv8m.main-none-eabi"),
3031- ("thumbv8m.main-none-eabihf", "thumbv8m.main-none-eabihf"),
3032- ("thumbv8m.main-nuttx-eabi", "thumbv8m.main-none-eabi"),
3033- ("thumbv8m.main-nuttx-eabihf", "thumbv8m.main-none-eabihf"),
3034- ("wasm32-unknown-emscripten", "wasm32-unknown-emscripten"),
3035- ("wasm32-unknown-unknown", "wasm32-unknown-unknown"),
3036- ("wasm32-wali-linux-musl", "wasm32-wasi"),
3037- ("wasm32-wasi", "wasm32-wasi"),
3038- ("wasm32-wasip1", "wasm32-wasip1"),
3039- ("wasm32-wasip1-threads", "wasm32-wasi"),
3040- ("wasm32-wasip2", "wasm32-wasip2"),
3041- ("wasm32-wasip3", "wasm32-wasip3"),
3042- ("wasm32v1-none", "wasm32-unknown-unknown"),
3043- ("wasm64-unknown-unknown", "wasm64-unknown-unknown"),
3044- ("x86_64-apple-darwin", "x86_64-apple-macosx"),
3045- ("x86_64-apple-ios", "x86_64-apple-ios-simulator"),
3046- ("x86_64-apple-ios-macabi", "x86_64-apple-ios-macabi"),
3047- ("x86_64-apple-tvos", "x86_64-apple-tvos-simulator"),
3048- ("x86_64-apple-watchos-sim", "x86_64-apple-watchos-simulator"),
3049- ("x86_64-fortanix-unknown-sgx", "x86_64-elf"),
3050- ("x86_64-fuchsia", "x86_64-fuchsia"),
3051- ("x86_64-linux-android", "x86_64-linux-android"),
3052- ("x86_64-lynx-lynxos178", "x86_64-unknown-unknown-gnu"),
3053- ("x86_64-pc-cygwin", "x86_64-pc-cygwin"),
3054- ("x86_64-pc-nto-qnx710", "x86_64-pc-unknown"),
3055- ("x86_64-pc-nto-qnx710_iosock", "x86_64-pc-unknown"),
3056- ("x86_64-pc-nto-qnx800", "x86_64-pc-unknown"),
3057- ("x86_64-pc-solaris", "x86_64-pc-solaris"),
3058- ("x86_64-pc-windows-gnu", "x86_64-pc-windows-gnu"),
3059- ("x86_64-pc-windows-gnullvm", "x86_64-pc-windows-gnu"),
3060- ("x86_64-pc-windows-msvc", "x86_64-pc-windows-msvc"),
3061- ("x86_64-sun-solaris", "x86_64-pc-solaris"),
3062- ("x86_64-unikraft-linux-musl", "x86_64-unknown-linux-musl"),
3063- ("x86_64-unknown-dragonfly", "x86_64-unknown-dragonfly"),
3064- ("x86_64-unknown-freebsd", "x86_64-unknown-freebsd"),
3065- ("x86_64-unknown-fuchsia", "x86_64-unknown-fuchsia"),
3066- ("x86_64-unknown-haiku", "x86_64-unknown-haiku"),
3067- ("x86_64-unknown-hermit", "x86_64-unknown-hermit"),
3068- ("x86_64-unknown-hurd-gnu", "x86_64-unknown-hurd-gnu"),
3069- ("x86_64-unknown-illumos", "x86_64-pc-solaris"),
3070- ("x86_64-unknown-l4re-uclibc", "x86_64-unknown-l4re-gnu"),
3071- ("x86_64-unknown-linux-gnu", "x86_64-unknown-linux-gnu"),
3072- ("x86_64-unknown-linux-gnux32", "x86_64-unknown-linux-gnux32"),
3073- ("x86_64-unknown-linux-musl", "x86_64-unknown-linux-musl"),
3074- ("x86_64-unknown-linux-none", "x86_64-unknown-linux-none"),
3075- ("x86_64-unknown-linux-ohos", "x86_64-unknown-linux-ohos"),
3076- ("x86_64-unknown-managarm-mlibc", "x86_64-unknown-managarm-mlibc"),
3077- ("x86_64-unknown-motor", "x86_64-unknown-none-elf"),
3078- ("x86_64-unknown-netbsd", "x86_64-unknown-netbsd"),
3079- ("x86_64-unknown-none", "x86_64-unknown-none-elf"),
3080- ("x86_64-unknown-none-linuxkernel", "x86_64-unknown-none-elf"),
3081- ("x86_64-unknown-openbsd", "x86_64-unknown-openbsd"),
3082- ("x86_64-unknown-redox", "x86_64-unknown-redox"),
3083- ("x86_64-unknown-trusty", "x86_64-unknown-unknown-musl"),
3084- ("x86_64-unknown-uefi", "x86_64-unknown-windows"),
3085- ("x86_64-uwp-windows-gnu", "x86_64-pc-windows-gnu"),
3086- ("x86_64-uwp-windows-msvc", "x86_64-pc-windows-msvc"),
3087- ("x86_64-win7-windows-gnu", "x86_64-pc-windows-gnu"),
3088- ("x86_64-win7-windows-msvc", "x86_64-pc-windows-msvc"),
3089- ("x86_64-wrs-vxworks", "x86_64-unknown-linux-gnu"),
3090- ("x86_64h-apple-darwin", "x86_64h-apple-macosx"),
3091- ("xtensa-esp32-espidf", "xtensa-none-elf"),
3092- ("xtensa-esp32-none-elf", "xtensa-none-elf"),
3093- ("xtensa-esp32s2-espidf", "xtensa-none-elf"),
3094- ("xtensa-esp32s2-none-elf", "xtensa-none-elf"),
3095- ("xtensa-esp32s3-espidf", "xtensa-none-elf"),
3096- ("xtensa-esp32s3-none-elf", "xtensa-none-elf"),
3097-];
3098diff --git a/rust-vendor/cc/src/target/llvm.rs b/rust-vendor/cc/src/target/llvm.rs
3099deleted file mode 100644
3100index 4d045bc..0000000
3101--- a/rust-vendor/cc/src/target/llvm.rs
3102+++ /dev/null
3103@@ -1,315 +0,0 @@
3104-use std::borrow::Cow;
3105-
3106-use super::{generated, TargetInfo};
3107-
3108-impl TargetInfo<'_> {
3109- /// The LLVM/Clang target triple.
3110- ///
3111- /// See <https://clang.llvm.org/docs/CrossCompilation.html#target-triple>.
3112- ///
3113- /// Rust and Clang don't really agree on target naming, so we first try to
3114- /// find the matching trible based on `rustc`'s output, but if no such
3115- /// triple exists, we attempt to construct the triple from scratch.
3116- ///
3117- /// NOTE: You should never need to match on this explicitly, use the
3118- /// fields on [`TargetInfo`] instead.
3119- pub(crate) fn llvm_target(
3120- &self,
3121- rustc_target: &str,
3122- version: Option<&str>,
3123- ) -> Cow<'static, str> {
3124- if rustc_target == "armv7-apple-ios" {
3125- // FIXME(madsmtm): Unnecessary once we bump MSRV to Rust 1.74
3126- return Cow::Borrowed("armv7-apple-ios");
3127- } else if self.os == "uefi" {
3128- // Override the UEFI LLVM targets.
3129- //
3130- // The rustc mappings (as of 1.82) for the UEFI targets are:
3131- // * i686-unknown-uefi -> i686-unknown-windows-gnu
3132- // * x86_64-unknown-uefi -> x86_64-unknown-windows
3133- // * aarch64-unknown-uefi -> aarch64-unknown-windows
3134- //
3135- // However, in cc-rs all the UEFI targets use
3136- // -windows-gnu. This has been the case since 2021 [1].
3137- // * i686-unknown-uefi -> i686-unknown-windows-gnu
3138- // * x86_64-unknown-uefi -> x86_64-unknown-windows-gnu
3139- // * aarch64-unknown-uefi -> aarch64-unknown-windows-gnu
3140- //
3141- // For now, override the UEFI mapping to keep the behavior
3142- // of cc-rs unchanged.
3143- //
3144- // TODO: as discussed in [2], it may be possible to switch
3145- // to new UEFI targets added to clang, and regardless it
3146- // would be good to have consistency between rustc and
3147- // cc-rs.
3148- //
3149- // [1]: https://github.com/rust-lang/cc-rs/pull/623
3150- // [2]: https://github.com/rust-lang/cc-rs/pull/1264
3151- return Cow::Owned(format!("{}-unknown-windows-gnu", self.full_arch));
3152- }
3153-
3154- // If no version is requested, let's take the triple directly from
3155- // `rustc` (the logic below is not yet good enough for most targets).
3156- //
3157- // FIXME(madsmtm): This should ideally be removed.
3158- if version.is_none() {
3159- if let Ok(index) = generated::LLVM_TARGETS
3160- .binary_search_by_key(&rustc_target, |(rustc_target, _)| rustc_target)
3161- {
3162- let (_, llvm_target) = &generated::LLVM_TARGETS[index];
3163- return Cow::Borrowed(llvm_target);
3164- }
3165- }
3166-
3167- // Otherwise, attempt to construct the triple from the target info.
3168-
3169- let arch = match self.full_arch {
3170- riscv32 if riscv32.starts_with("riscv32") => "riscv32",
3171- riscv64 if riscv64.starts_with("riscv64") => "riscv64",
3172- "aarch64" if self.vendor == "apple" => "arm64",
3173- "armv7" if self.vendor == "sony" => "thumbv7a", // FIXME
3174- arch => arch,
3175- };
3176- let vendor = match self.vendor {
3177- "kmc" | "nintendo" => "unknown",
3178- "unknown" if self.os == "android" => "linux",
3179- "uwp" => "pc",
3180- "espressif" => "",
3181- _ if self.arch == "msp430" => "",
3182- vendor => vendor,
3183- };
3184- let os = match self.os {
3185- "macos" => "macosx",
3186- "visionos" => "xros",
3187- "uefi" => "windows",
3188- "solid_asp3" | "horizon" | "teeos" | "nuttx" | "espidf" => "none",
3189- "nto" => "unknown", // FIXME
3190- "trusty" => "unknown", // FIXME
3191- os => os,
3192- };
3193- let version = version.unwrap_or("");
3194- let env = match self.env {
3195- "newlib" | "nto70" | "nto71" | "nto71_iosock" | "p1" | "p2" | "relibc" | "sgx"
3196- | "uclibc" => "",
3197- "sim" => "simulator",
3198- env => env,
3199- };
3200- let abi = match self.abi {
3201- "llvm" | "softfloat" | "uwp" | "vec-extabi" => "",
3202- "ilp32" => "_ilp32",
3203- "abi64" => "",
3204- abi => abi,
3205- };
3206- Cow::Owned(match (vendor, env, abi) {
3207- ("", "", "") => format!("{arch}-{os}{version}"),
3208- ("", env, abi) => format!("{arch}-{os}{version}-{env}{abi}"),
3209- (vendor, "", "") => format!("{arch}-{vendor}-{os}{version}"),
3210- (vendor, env, abi) => format!("{arch}-{vendor}-{os}{version}-{env}{abi}"),
3211- })
3212- }
3213-}
3214-
3215-#[cfg(test)]
3216-mod tests {
3217- use std::process::Command;
3218-
3219- use crate::TargetInfo;
3220-
3221- #[test]
3222- fn test_old_ios_target() {
3223- assert_eq!(
3224- TargetInfo {
3225- full_arch: "armv7",
3226- arch: "armv7",
3227- vendor: "apple",
3228- os: "ios",
3229- env: "",
3230- abi: "",
3231- }
3232- .llvm_target("armv7-apple-ios", None),
3233- "armv7-apple-ios"
3234- );
3235- }
3236-
3237- #[test]
3238- fn basic_llvm_triple_guessing() {
3239- assert_eq!(
3240- TargetInfo {
3241- full_arch: "aarch64",
3242- arch: "aarch64",
3243- vendor: "unknown",
3244- os: "linux",
3245- env: "",
3246- abi: "",
3247- }
3248- .llvm_target("invalid", None),
3249- "aarch64-unknown-linux"
3250- );
3251- assert_eq!(
3252- TargetInfo {
3253- full_arch: "x86_64",
3254- arch: "x86_64",
3255- vendor: "unknown",
3256- os: "linux",
3257- env: "gnu",
3258- abi: "",
3259- }
3260- .llvm_target("invalid", None),
3261- "x86_64-unknown-linux-gnu"
3262- );
3263- assert_eq!(
3264- TargetInfo {
3265- full_arch: "x86_64",
3266- arch: "x86_64",
3267- vendor: "unknown",
3268- os: "linux",
3269- env: "gnu",
3270- abi: "eabi",
3271- }
3272- .llvm_target("invalid", None),
3273- "x86_64-unknown-linux-gnueabi"
3274- );
3275- assert_eq!(
3276- TargetInfo {
3277- full_arch: "x86_64",
3278- arch: "x86_64",
3279- vendor: "apple",
3280- os: "macos",
3281- env: "",
3282- abi: "",
3283- }
3284- .llvm_target("invalid", None),
3285- "x86_64-apple-macosx"
3286- );
3287- }
3288-
3289- #[test]
3290- fn llvm_version() {
3291- assert_eq!(
3292- TargetInfo {
3293- full_arch: "aarch64",
3294- arch: "aarch64",
3295- vendor: "apple",
3296- os: "ios",
3297- env: "sim",
3298- abi: "",
3299- }
3300- .llvm_target("aarch64-apple-ios-sim", Some("14.0")),
3301- "arm64-apple-ios14.0-simulator"
3302- );
3303- assert_eq!(
3304- TargetInfo {
3305- full_arch: "aarch64",
3306- arch: "aarch64",
3307- vendor: "apple",
3308- os: "visionos",
3309- env: "",
3310- abi: "",
3311- }
3312- .llvm_target("aarch64-apple-visionos", Some("2.0")),
3313- "arm64-apple-xros2.0"
3314- );
3315- assert_eq!(
3316- TargetInfo {
3317- full_arch: "aarch64",
3318- arch: "aarch64",
3319- vendor: "apple",
3320- os: "ios",
3321- env: "",
3322- abi: "macabi",
3323- }
3324- .llvm_target("aarch64-apple-ios-macabi", Some("13.1")),
3325- "arm64-apple-ios13.1-macabi"
3326- );
3327- }
3328-
3329- #[test]
3330- fn uefi() {
3331- assert_eq!(
3332- TargetInfo {
3333- full_arch: "i686",
3334- arch: "x86",
3335- vendor: "unknown",
3336- os: "uefi",
3337- env: "",
3338- abi: "",
3339- }
3340- .llvm_target("i686-unknown-uefi", None),
3341- "i686-unknown-windows-gnu"
3342- );
3343- assert_eq!(
3344- TargetInfo {
3345- full_arch: "x86_64",
3346- arch: "x86_64",
3347- vendor: "unknown",
3348- os: "uefi",
3349- env: "",
3350- abi: "",
3351- }
3352- .llvm_target("x86_64-unknown-uefi", None),
3353- "x86_64-unknown-windows-gnu"
3354- );
3355- assert_eq!(
3356- TargetInfo {
3357- full_arch: "aarch64",
3358- arch: "aarch64",
3359- vendor: "unknown",
3360- os: "uefi",
3361- env: "",
3362- abi: "",
3363- }
3364- .llvm_target("aarch64-unknown-uefi", None),
3365- "aarch64-unknown-windows-gnu"
3366- );
3367- }
3368-
3369- #[test]
3370- #[ignore = "not yet done"]
3371- fn llvm_for_all_rustc_targets() {
3372- let rustc = std::env::var("RUSTC").unwrap_or_else(|_| "rustc".to_string());
3373-
3374- let target_list = Command::new(&rustc)
3375- .arg("--print=target-list")
3376- .output()
3377- .unwrap()
3378- .stdout;
3379- let target_list = String::from_utf8(target_list).unwrap();
3380-
3381- let mut has_failure = false;
3382- for target in target_list.lines() {
3383- let spec_json = Command::new(&rustc)
3384- .arg("--target")
3385- .arg(target)
3386- .arg("-Zunstable-options")
3387- .arg("--print=target-spec-json")
3388- .env("RUSTC_BOOTSTRAP", "1") // Crimes
3389- .output()
3390- .unwrap()
3391- .stdout;
3392- let spec_json = String::from_utf8(spec_json).unwrap();
3393-
3394- // JSON crimes
3395- let expected = spec_json
3396- .split_once("llvm-target\": \"")
3397- .unwrap()
3398- .1
3399- .split_once("\"")
3400- .unwrap()
3401- .0;
3402- let actual = TargetInfo::from_rustc_target(target)
3403- .map(|target| target.llvm_target("invalid", None));
3404-
3405- if Some(expected) != actual.as_deref().ok() {
3406- eprintln!("failed comparing {target}:");
3407- eprintln!(" expected: Ok({expected:?})");
3408- eprintln!(" actual: {actual:?}");
3409- eprintln!();
3410- has_failure = true;
3411- }
3412- }
3413-
3414- if has_failure {
3415- panic!("failed comparing targets");
3416- }
3417- }
3418-}
3419diff --git a/rust-vendor/cc/src/target/parser.rs b/rust-vendor/cc/src/target/parser.rs
3420deleted file mode 100644
3421index ec904e2..0000000
3422--- a/rust-vendor/cc/src/target/parser.rs
3423+++ /dev/null
3424@@ -1,638 +0,0 @@
3425-use std::{env, mem};
3426-
3427-use crate::{target::TargetInfo, utilities::OnceLock, Error, ErrorKind};
3428-
3429-#[derive(Debug)]
3430-struct TargetInfoParserInner {
3431- full_arch: Box<str>,
3432- arch: Box<str>,
3433- vendor: Box<str>,
3434- os: Box<str>,
3435- env: Box<str>,
3436- abi: Box<str>,
3437-}
3438-
3439-impl TargetInfoParserInner {
3440- fn from_cargo_environment_variables() -> Result<Self, Error> {
3441- // `TARGET` must be present.
3442- //
3443- // No need to emit `rerun-if-env-changed` for this,
3444- // as it is controlled by Cargo itself.
3445- #[allow(clippy::disallowed_methods)]
3446- let target_name = env::var("TARGET").map_err(|err| {
3447- Error::new(
3448- ErrorKind::EnvVarNotFound,
3449- format!("failed reading TARGET: {err}"),
3450- )
3451- })?;
3452-
3453- // Parse the full architecture name from the target name.
3454- let (full_arch, _rest) = target_name.split_once('-').ok_or(Error::new(
3455- ErrorKind::InvalidTarget,
3456- format!("target `{target_name}` only had a single component (at least two required)"),
3457- ))?;
3458-
3459- let cargo_env = |name, fallback: Option<&str>| -> Result<Box<str>, Error> {
3460- // No need to emit `rerun-if-env-changed` for these,
3461- // as they are controlled by Cargo itself.
3462- #[allow(clippy::disallowed_methods)]
3463- match env::var(name) {
3464- Ok(var) => Ok(var.into_boxed_str()),
3465- Err(err) => match fallback {
3466- Some(fallback) => Ok(fallback.into()),
3467- None => Err(Error::new(
3468- ErrorKind::EnvVarNotFound,
3469- format!("did not find fallback information for target `{target_name}`, and failed reading {name}: {err}"),
3470- )),
3471- },
3472- }
3473- };
3474-
3475- // Prefer to use `CARGO_ENV_*` if set, since these contain the most
3476- // correct information relative to the current `rustc`, and makes it
3477- // possible to support custom target JSON specs unknown to `rustc`.
3478- //
3479- // NOTE: If the user is using an older `rustc`, that data may be older
3480- // than our pre-generated data, but we still prefer Cargo's view of
3481- // the world, since at least `cc` won't differ from `rustc` in that
3482- // case.
3483- //
3484- // These may not be set in case the user depended on being able to
3485- // just set `TARGET` outside of build scripts; in those cases, fall
3486- // back back to data from the known set of target names instead.
3487- //
3488- // See discussion in #1225 for further details.
3489- let fallback_target = TargetInfo::from_rustc_target(&target_name).ok();
3490- let ft = fallback_target.as_ref();
3491- let arch = cargo_env("CARGO_CFG_TARGET_ARCH", ft.map(|t| t.arch))?;
3492- let vendor = cargo_env("CARGO_CFG_TARGET_VENDOR", ft.map(|t| t.vendor))?;
3493- let os = cargo_env("CARGO_CFG_TARGET_OS", ft.map(|t| t.os))?;
3494- let mut env = cargo_env("CARGO_CFG_TARGET_ENV", ft.map(|t| t.env))?;
3495- // `target_abi` was stabilized in Rust 1.78, which is higher than our
3496- // MSRV, so it may not always be available; In that case, fall back to
3497- // `""`, which is _probably_ correct for unknown target names.
3498- let mut abi = cargo_env("CARGO_CFG_TARGET_ABI", ft.map(|t| t.abi))
3499- .unwrap_or_else(|_| String::default().into_boxed_str());
3500-
3501- // Remove `macabi` and `sim` from `target_abi` (if present), it's been moved to `target_env`.
3502- // TODO: Remove once MSRV is bumped to 1.91 and `rustc` removes these from `target_abi`.
3503- if matches!(&*abi, "macabi" | "sim") {
3504- debug_assert!(
3505- matches!(&*env, "" | "macbi" | "sim"),
3506- "env/abi mismatch: {:?}, {:?}",
3507- env,
3508- abi,
3509- );
3510- env = mem::replace(&mut abi, String::default().into_boxed_str());
3511- }
3512-
3513- Ok(Self {
3514- full_arch: full_arch.to_string().into_boxed_str(),
3515- arch,
3516- vendor,
3517- os,
3518- env,
3519- abi,
3520- })
3521- }
3522-}
3523-
3524-/// Parser for [`TargetInfo`], contains cached information.
3525-#[derive(Default, Debug)]
3526-pub(crate) struct TargetInfoParser(OnceLock<Result<TargetInfoParserInner, Error>>);
3527-
3528-impl TargetInfoParser {
3529- pub fn parse_from_cargo_environment_variables(&self) -> Result<TargetInfo<'_>, Error> {
3530- match self
3531- .0
3532- .get_or_init(TargetInfoParserInner::from_cargo_environment_variables)
3533- {
3534- Ok(TargetInfoParserInner {
3535- full_arch,
3536- arch,
3537- vendor,
3538- os,
3539- env,
3540- abi,
3541- }) => Ok(TargetInfo {
3542- full_arch,
3543- arch,
3544- vendor,
3545- os,
3546- env,
3547- abi,
3548- }),
3549- Err(e) => Err(e.clone()),
3550- }
3551- }
3552-}
3553-
3554-/// Parse the full architecture in the target name into the simpler
3555-/// `cfg(target_arch = "...")` that `rustc` exposes.
3556-fn parse_arch(full_arch: &str) -> Option<&str> {
3557- // NOTE: Some of these don't necessarily match an existing target in
3558- // `rustc`. They're parsed anyhow to be as forward-compatible as possible,
3559- // while still being correct.
3560- //
3561- // See also:
3562- // https://docs.rs/cfg-expr/0.18.0/cfg_expr/targets/index.html
3563- // https://docs.rs/target-lexicon/0.13.2/target_lexicon/enum.Architecture.html
3564- // https://gcc.gnu.org/onlinedocs/gcc/Submodel-Options.html
3565- // `clang -print-targets`
3566- Some(match full_arch {
3567- arch if arch.starts_with("mipsisa32r6") => "mips32r6", // mipsisa32r6 | mipsisa32r6el
3568- arch if arch.starts_with("mipsisa64r6") => "mips64r6", // mipsisa64r6 | mipsisa64r6el
3569-
3570- arch if arch.starts_with("mips64") => "mips64", // mips64 | mips64el
3571- arch if arch.starts_with("mips") => "mips", // mips | mipsel
3572-
3573- arch if arch.starts_with("loongarch64") => "loongarch64",
3574- arch if arch.starts_with("loongarch32") => "loongarch32",
3575-
3576- arch if arch.starts_with("powerpc64") => "powerpc64", // powerpc64 | powerpc64le
3577- arch if arch.starts_with("powerpc") => "powerpc",
3578- arch if arch.starts_with("ppc64") => "powerpc64",
3579- arch if arch.starts_with("ppc") => "powerpc",
3580-
3581- arch if arch.starts_with("x86_64") => "x86_64", // x86_64 | x86_64h
3582- arch if arch.starts_with("i") && arch.ends_with("86") => "x86", // i386 | i586 | i686
3583-
3584- "arm64ec" => "arm64ec", // https://github.com/rust-lang/rust/issues/131172
3585- arch if arch.starts_with("aarch64") => "aarch64", // arm64e | arm64_32
3586- arch if arch.starts_with("arm64") => "aarch64", // aarch64 | aarch64_be
3587-
3588- arch if arch.starts_with("arm") => "arm", // arm | armv7s | armeb | ...
3589- arch if arch.starts_with("thumb") => "arm", // thumbv4t | thumbv7a | thumbv8m | ...
3590-
3591- arch if arch.starts_with("riscv64") => "riscv64",
3592- arch if arch.starts_with("riscv32") => "riscv32",
3593-
3594- arch if arch.starts_with("wasm64") => "wasm64",
3595- arch if arch.starts_with("wasm32") => "wasm32", // wasm32 | wasm32v1
3596- "asmjs" => "wasm32",
3597-
3598- arch if arch.starts_with("nvptx64") => "nvptx64",
3599- arch if arch.starts_with("nvptx") => "nvptx",
3600-
3601- arch if arch.starts_with("bpf") => "bpf", // bpfeb | bpfel
3602-
3603- // https://github.com/bytecodealliance/wasmtime/tree/v30.0.1/pulley
3604- arch if arch.starts_with("pulley64") => "pulley64",
3605- arch if arch.starts_with("pulley32") => "pulley32",
3606-
3607- // https://github.com/Clever-ISA/Clever-ISA
3608- arch if arch.starts_with("clever") => "clever",
3609-
3610- "sparc" | "sparcv7" | "sparcv8" => "sparc",
3611- "sparc64" | "sparcv9" => "sparc64",
3612-
3613- "amdgcn" => "amdgpu",
3614- "avr" => "avr",
3615- "csky" => "csky",
3616- "hexagon" => "hexagon",
3617- "m68k" => "m68k",
3618- "msp430" => "msp430",
3619- "r600" => "r600",
3620- "s390x" => "s390x",
3621- "xtensa" => "xtensa",
3622-
3623- // Arches supported by gcc, but not LLVM.
3624- arch if arch.starts_with("alpha") => "alpha", // DEC Alpha
3625- "hppa" => "hppa", // https://en.wikipedia.org/wiki/PA-RISC, also known as HPPA
3626- arch if arch.starts_with("sh") => "sh", // SuperH
3627- _ => return None,
3628- })
3629-}
3630-
3631-/// Parse environment and ABI from the last component of the target name.
3632-fn parse_envabi(last_component: &str) -> Option<(&str, &str)> {
3633- let (env, abi) = match last_component {
3634- // Combined environment and ABI
3635-
3636- // gnullvm | gnueabi | gnueabihf | gnuabiv2 | gnuabi64 | gnuspe | gnux32 | gnu_ilp32
3637- env_and_abi if env_and_abi.starts_with("gnu") => {
3638- let abi = env_and_abi.strip_prefix("gnu").unwrap();
3639- let abi = abi.strip_prefix("_").unwrap_or(abi);
3640- ("gnu", abi)
3641- }
3642- // musl | musleabi | musleabihf | muslabi64 | muslspe
3643- env_and_abi if env_and_abi.starts_with("musl") => {
3644- ("musl", env_and_abi.strip_prefix("musl").unwrap())
3645- }
3646- // uclibc | uclibceabi | uclibceabihf
3647- env_and_abi if env_and_abi.starts_with("uclibc") => {
3648- ("uclibc", env_and_abi.strip_prefix("uclibc").unwrap())
3649- }
3650- // newlib | newlibeabihf
3651- env_and_abi if env_and_abi.starts_with("newlib") => {
3652- ("newlib", env_and_abi.strip_prefix("newlib").unwrap())
3653- }
3654-
3655- // Environments
3656- "msvc" => ("msvc", ""),
3657- "ohos" => ("ohos", ""),
3658- "qnx700" => ("nto70", ""),
3659- "qnx710_iosock" => ("nto71_iosock", ""),
3660- "qnx710" => ("nto71", ""),
3661- "qnx800" => ("nto80", ""),
3662- "sgx" => ("sgx", ""),
3663- "threads" => ("threads", ""),
3664- "mlibc" => ("mlibc", ""),
3665-
3666- // ABIs
3667- "abi64" => ("", "abi64"),
3668- "abiv2" => ("", "spe"),
3669- "eabi" => ("", "eabi"),
3670- "eabihf" => ("", "eabihf"),
3671- "macabi" => ("macabi", ""),
3672- "sim" => ("sim", ""),
3673- "softfloat" => ("", "softfloat"),
3674- "spe" => ("", "spe"),
3675- "x32" => ("", "x32"),
3676-
3677- // Badly named targets, ELF is already known from target OS.
3678- // Probably too late to fix now though.
3679- "elf" => ("", ""),
3680- // Undesirable to expose to user code (yet):
3681- // https://github.com/rust-lang/rust/pull/131166#issuecomment-2389541917
3682- "freestanding" => ("", ""),
3683-
3684- _ => return None,
3685- };
3686- Some((env, abi))
3687-}
3688-
3689-impl<'a> TargetInfo<'a> {
3690- pub(crate) fn from_rustc_target(target: &'a str) -> Result<Self, Error> {
3691- // FIXME(madsmtm): This target should be renamed, cannot be parsed
3692- // with the means we do below (since `none` must not be interpreted
3693- // as an env/ABI).
3694- if target == "x86_64-unknown-linux-none" {
3695- return Ok(Self {
3696- full_arch: "x86_64",
3697- arch: "x86_64",
3698- vendor: "unknown",
3699- os: "linux",
3700- env: "",
3701- abi: "",
3702- });
3703- }
3704-
3705- if target == "armv7a-vex-v5" {
3706- return Ok(Self {
3707- full_arch: "armv7a",
3708- arch: "arm",
3709- vendor: "vex",
3710- os: "vexos",
3711- env: "v5",
3712- abi: "eabihf",
3713- });
3714- }
3715-
3716- let mut components = target.split('-');
3717-
3718- // Insist that the target name contains at least a valid architecture.
3719- let full_arch = components.next().ok_or(Error::new(
3720- ErrorKind::InvalidTarget,
3721- "target was empty".to_string(),
3722- ))?;
3723- let arch = parse_arch(full_arch).ok_or_else(|| {
3724- Error::new(
3725- ErrorKind::UnknownTarget,
3726- format!("target `{target}` had an unknown architecture"),
3727- )
3728- })?;
3729-
3730- // Newer target names have begun omitting the vendor, so the only
3731- // component we know must be there is the OS name.
3732- let components: Vec<_> = components.collect();
3733- let (vendor, os, mut env, mut abi) = match &*components {
3734- [] => {
3735- return Err(Error::new(
3736- ErrorKind::InvalidTarget,
3737- format!("target `{target}` must have at least two components"),
3738- ))
3739- }
3740- // Two components; format is `arch-os`.
3741- [os] => ("unknown", *os, "", ""),
3742- // The three-component case is a bit tricky to handle, it could
3743- // either have the format `arch-vendor-os` or `arch-os-env+abi`.
3744- [vendor_or_os, os_or_envabi] => {
3745- // We differentiate between these by checking if the last
3746- // component is an env/ABI; if it isn't, then it's probably
3747- // an OS instead.
3748- if let Some((env, abi)) = parse_envabi(os_or_envabi) {
3749- ("unknown", *vendor_or_os, env, abi)
3750- } else {
3751- (*vendor_or_os, *os_or_envabi, "", "")
3752- }
3753- }
3754- // Four components; format is `arch-vendor-os-env+abi`.
3755- [vendor, os, envabi] => {
3756- let (env, abi) = parse_envabi(envabi).ok_or_else(|| {
3757- Error::new(
3758- ErrorKind::UnknownTarget,
3759- format!("unknown environment/ABI `{envabi}` in target `{target}`"),
3760- )
3761- })?;
3762- (*vendor, *os, env, abi)
3763- }
3764- _ => {
3765- return Err(Error::new(
3766- ErrorKind::InvalidTarget,
3767- format!("too many components in target `{target}`"),
3768- ))
3769- }
3770- };
3771-
3772- // Part of the architecture name is carried over into the ABI.
3773- match full_arch {
3774- // https://github.com/rust-lang/compiler-team/issues/830
3775- arch if arch.starts_with("riscv32e") => {
3776- abi = "ilp32e";
3777- }
3778- _ => {}
3779- }
3780-
3781- // Various environment/ABIs are determined based on OS name.
3782- match os {
3783- "3ds" | "rtems" | "espidf" => env = "newlib",
3784- "vxworks" => env = "gnu",
3785- "redox" => env = "relibc",
3786- "aix" => abi = "vec-extabi",
3787- _ => {}
3788- }
3789-
3790- // Extra overrides for badly named targets.
3791- match target {
3792- // Actually simulator targets.
3793- "i386-apple-ios" | "x86_64-apple-ios" | "x86_64-apple-tvos" => {
3794- env = "sim";
3795- }
3796- // Name should've contained `muslabi64`.
3797- "mips64-openwrt-linux-musl" => {
3798- abi = "abi64";
3799- }
3800- // Specifies abi even though not in name.
3801- "armv6-unknown-freebsd" | "armv6k-nintendo-3ds" | "armv7-unknown-freebsd" => {
3802- abi = "eabihf";
3803- }
3804- // Specifies abi even though not in name.
3805- "armv7-unknown-linux-ohos" | "armv7-unknown-trusty" => {
3806- abi = "eabi";
3807- }
3808- _ => {}
3809- }
3810-
3811- let os = match os {
3812- // Horizon is the common/internal OS name for 3DS and the Switch.
3813- "3ds" | "switch" => "horizon",
3814- // FIXME(madsmtm): macOS targets are badly named.
3815- "darwin" => "macos",
3816-
3817- // WASI targets contain the preview version in them too. Should've
3818- // been `wasi-p1`/`wasi-p2`, but that's probably too late now.
3819- os if os.starts_with("wasi") => {
3820- env = os.strip_prefix("wasi").unwrap();
3821- "wasi"
3822- }
3823- // FIXME(madsmtm): Badly named targets `*-linux-androideabi`,
3824- // should be `*-android-eabi`.
3825- "androideabi" => {
3826- abi = "eabi";
3827- "android"
3828- }
3829-
3830- os => os,
3831- };
3832-
3833- let vendor = match vendor {
3834- // esp, esp32, esp32s2 etc.
3835- vendor if vendor.starts_with("esp") => "espressif",
3836- // FIXME(madsmtm): Badly named targets `*-linux-android*`,
3837- // "linux" makes no sense as the vendor name.
3838- "linux" if os == "android" || os == "androideabi" => "unknown",
3839- // FIXME(madsmtm): Fix in `rustc` after
3840- // https://github.com/rust-lang/compiler-team/issues/850.
3841- "wali" => "unknown",
3842- "lynx" => "unknown",
3843- // Some Linux distributions set their name as the target vendor,
3844- // so we have to assume that it can be an arbitary string.
3845- vendor => vendor,
3846- };
3847-
3848- // Intentionally also marked as an ABI:
3849- // https://github.com/rust-lang/rust/pull/86922
3850- if vendor == "fortanix" {
3851- abi = "fortanix";
3852- }
3853- if vendor == "uwp" {
3854- abi = "uwp";
3855- }
3856- if ["powerpc64-unknown-linux-gnu", "powerpc64-wrs-vxworks"].contains(&target) {
3857- abi = "elfv1";
3858- }
3859- if [
3860- "powerpc64-unknown-freebsd",
3861- "powerpc64-unknown-linux-musl",
3862- "powerpc64-unknown-openbsd",
3863- "powerpc64le-unknown-freebsd",
3864- "powerpc64le-unknown-linux-gnu",
3865- "powerpc64le-unknown-linux-musl",
3866- ]
3867- .contains(&target)
3868- {
3869- abi = "elfv2";
3870- }
3871-
3872- Ok(Self {
3873- full_arch,
3874- arch,
3875- vendor,
3876- os,
3877- env,
3878- abi,
3879- })
3880- }
3881-}
3882-
3883-#[cfg(test)]
3884-#[allow(unexpected_cfgs)]
3885-mod tests {
3886- use std::process::Command;
3887-
3888- use super::TargetInfo;
3889- use crate::ErrorKind;
3890-
3891- // Test tier 1 targets.
3892- #[test]
3893- fn tier1() {
3894- let targets = [
3895- "aarch64-unknown-linux-gnu",
3896- "aarch64-apple-darwin",
3897- "i686-pc-windows-gnu",
3898- "i686-pc-windows-msvc",
3899- "i686-unknown-linux-gnu",
3900- "x86_64-apple-darwin",
3901- "x86_64-pc-windows-gnu",
3902- "x86_64-pc-windows-msvc",
3903- "x86_64-unknown-linux-gnu",
3904- ];
3905-
3906- for target in targets {
3907- // Check that they parse.
3908- let _ = TargetInfo::from_rustc_target(target).unwrap();
3909- }
3910- }
3911-
3912- // Various custom target names not (or no longer) known by `rustc`.
3913- #[test]
3914- fn parse_extra() {
3915- let targets = [
3916- "aarch64-unknown-none-gnu",
3917- "aarch64-uwp-windows-gnu",
3918- "arm-frc-linux-gnueabi",
3919- "arm-unknown-netbsd-eabi",
3920- "armv7neon-unknown-linux-gnueabihf",
3921- "armv7neon-unknown-linux-musleabihf",
3922- "thumbv7-unknown-linux-gnueabihf",
3923- "thumbv7-unknown-linux-musleabihf",
3924- "armv7-apple-ios",
3925- "wasm32-wasi",
3926- "x86_64-rumprun-netbsd",
3927- "x86_64-unknown-linux",
3928- "x86_64-alpine-linux-musl",
3929- "x86_64-chimera-linux-musl",
3930- "x86_64-foxkit-linux-musl",
3931- "arm-poky-linux-gnueabi",
3932- "x86_64-unknown-moturus",
3933- "x86_64-unknown-managarm-mlibc",
3934- ];
3935-
3936- for target in targets {
3937- // Check that they parse.
3938- let _ = TargetInfo::from_rustc_target(target).unwrap();
3939- }
3940- }
3941-
3942- fn target_from_rustc_cfgs<'a>(target: &'a str, cfgs: &'a str) -> TargetInfo<'a> {
3943- // Cannot determine full architecture from cfgs.
3944- let (full_arch, _rest) = target.split_once('-').expect("target to have arch");
3945-
3946- let mut target = TargetInfo {
3947- full_arch,
3948- arch: "invalid-none-set",
3949- vendor: "invalid-none-set",
3950- os: "invalid-none-set",
3951- env: "invalid-none-set",
3952- // Not set in older Rust versions
3953- abi: "",
3954- };
3955-
3956- for cfg in cfgs.lines() {
3957- if let Some((name, value)) = cfg.split_once('=') {
3958- // Remove whitespace, if `rustc` decided to insert any.
3959- let name = name.trim();
3960- let value = value.trim();
3961-
3962- // Remove quotes around value.
3963- let value = value.strip_prefix('"').unwrap_or(value);
3964- let value = value.strip_suffix('"').unwrap_or(value);
3965-
3966- match name {
3967- "target_arch" => target.arch = value,
3968- "target_vendor" => target.vendor = value,
3969- "target_os" => target.os = value,
3970- "target_env" => target.env = value,
3971- "target_abi" => target.abi = value,
3972- _ => {}
3973- }
3974- } else {
3975- // Skip cfgs like `debug_assertions` and `unix`.
3976- }
3977- }
3978-
3979- if matches!(target.abi, "macabi" | "sim") {
3980- assert_eq!(target.env, target.abi);
3981- target.abi = "";
3982- }
3983-
3984- target
3985- }
3986-
3987- #[test]
3988- fn unknown_env_determined_as_unknown() {
3989- let err = TargetInfo::from_rustc_target("aarch64-unknown-linux-bogus").unwrap_err();
3990- assert!(matches!(err.kind, ErrorKind::UnknownTarget));
3991- }
3992-
3993- // Used in .github/workflows/test-rustc-targets.yml
3994- #[test]
3995- #[cfg_attr(
3996- not(rustc_target_test),
3997- ignore = "must enable explicitly with --cfg=rustc_target_test"
3998- )]
3999- fn parse_rustc_targets() {
4000- let rustc = std::env::var("RUSTC").unwrap_or_else(|_| "rustc".to_string());
4001-
4002- let target_list = Command::new(&rustc)
4003- .arg("--print=target-list")
4004- .output()
4005- .unwrap()
4006- .stdout;
4007- let target_list = String::from_utf8(target_list).unwrap();
4008-
4009- let mut has_failure = false;
4010- for target in target_list.lines() {
4011- let cfgs = Command::new(&rustc)
4012- .arg("--target")
4013- .arg(target)
4014- .arg("--print=cfg")
4015- .output()
4016- .unwrap()
4017- .stdout;
4018- let cfgs = String::from_utf8(cfgs).unwrap();
4019-
4020- let expected = target_from_rustc_cfgs(target, &cfgs);
4021- let actual = TargetInfo::from_rustc_target(target);
4022-
4023- if Some(&expected) != actual.as_ref().ok() {
4024- eprintln!("failed comparing {target}:");
4025- eprintln!(" expected: Ok({expected:?})");
4026- eprintln!(" actual: {actual:?}");
4027- eprintln!();
4028- has_failure = true;
4029- }
4030- }
4031-
4032- if has_failure {
4033- panic!("failed comparing targets");
4034- }
4035- }
4036-
4037- #[test]
4038- fn parses_apple_envs_correctly() {
4039- assert_eq!(
4040- TargetInfo::from_rustc_target("aarch64-apple-ios-macabi").unwrap(),
4041- TargetInfo {
4042- full_arch: "aarch64",
4043- arch: "aarch64",
4044- vendor: "apple",
4045- os: "ios",
4046- env: "macabi",
4047- abi: "",
4048- }
4049- );
4050- assert_eq!(
4051- TargetInfo::from_rustc_target("aarch64-apple-ios-sim").unwrap(),
4052- TargetInfo {
4053- full_arch: "aarch64",
4054- arch: "aarch64",
4055- vendor: "apple",
4056- os: "ios",
4057- env: "sim",
4058- abi: "",
4059- }
4060- );
4061- }
4062-}
4063diff --git a/rust-vendor/cc/src/tool.rs b/rust-vendor/cc/src/tool.rs
4064index 5cfc633..f3eac13 100644
4065--- a/rust-vendor/cc/src/tool.rs
4066+++ b/rust-vendor/cc/src/tool.rs
4067@@ -1,10 +1,9 @@
4068 use crate::{
4069- command_helpers::{run_output, spawn, CargoOutput},
4070+ command_helpers::{run_output, spawn_and_wait_for_output, CargoOutput},
4071 run,
4072 tempfile::NamedTempfile,
4073 Error, ErrorKind, OutputKind,
4074 };
4075-use std::io::Read;
4076 use std::{
4077 borrow::Cow,
4078 collections::HashMap,
4079@@ -12,7 +11,7 @@ use std::{
4080 ffi::{OsStr, OsString},
4081 io::Write,
4082 path::{Path, PathBuf},
4083- process::{Command, Stdio},
4084+ process::{Command, Output, Stdio},
4085 sync::RwLock,
4086 };
4087
4088@@ -222,18 +221,14 @@ impl Tool {
4089 // But with clang-cl it can be part of stderr instead and exit with a
4090 // non-zero exit code.
4091 let mut captured_cargo_output = compiler_detect_output.clone();
4092- captured_cargo_output.output = OutputKind::Capture;
4093 captured_cargo_output.warnings = true;
4094- let mut child = spawn(&mut cmd, &captured_cargo_output)?;
4095+ let Output {
4096+ status,
4097+ stdout,
4098+ stderr,
4099+ } = spawn_and_wait_for_output(&mut cmd, &captured_cargo_output)?;
4100
4101- let mut out = vec![];
4102- let mut err = vec![];
4103- child.stdout.take().unwrap().read_to_end(&mut out)?;
4104- child.stderr.take().unwrap().read_to_end(&mut err)?;
4105-
4106- let status = child.wait()?;
4107-
4108- let stdout = if [&out, &err]
4109+ let stdout = if [&stdout, &stderr]
4110 .iter()
4111 .any(|o| String::from_utf8_lossy(o).contains("-Wslash-u-filename"))
4112 {
4113@@ -251,7 +246,7 @@ impl Tool {
4114 ));
4115 }
4116
4117- out
4118+ stdout
4119 };
4120
4121 let stdout = String::from_utf8_lossy(&stdout);
4122@@ -509,17 +504,46 @@ pub enum ToolFamily {
4123
4124 impl ToolFamily {
4125 /// What the flag to request debug info for this family of tools look like
4126- pub(crate) fn add_debug_flags(&self, cmd: &mut Tool, dwarf_version: Option<u32>) {
4127+ pub(crate) fn add_debug_flags(
4128+ &self,
4129+ cmd: &mut Tool,
4130+ debug_opt: &str,
4131+ dwarf_version: Option<u32>,
4132+ ) {
4133 match *self {
4134 ToolFamily::Msvc { .. } => {
4135 cmd.push_cc_arg("-Z7".into());
4136 }
4137 ToolFamily::Gnu | ToolFamily::Clang { .. } => {
4138- cmd.push_cc_arg(
4139- dwarf_version
4140- .map_or_else(|| "-g".into(), |v| format!("-gdwarf-{v}"))
4141- .into(),
4142- );
4143+ match debug_opt {
4144+ // From https://doc.rust-lang.org/cargo/reference/profiles.html#debug
4145+ "" | "0" | "false" | "none" => {
4146+ debug_assert!(
4147+ false,
4148+ "earlier check should have avoided calling add_debug_flags"
4149+ );
4150+ }
4151+
4152+ // line-directives-only is LLVM-specific; for GCC we have to treat it like "1"
4153+ "line-directives-only" if cmd.is_like_clang() => {
4154+ cmd.push_cc_arg("-gline-directives-only".into());
4155+ }
4156+ // Clang has -gline-tables-only, but it's an alias for -g1 anyway.
4157+ // https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-gline-tables-only
4158+ "1" | "limited" | "line-tables-only" | "line-directives-only" => {
4159+ cmd.push_cc_arg("-g1".into());
4160+ }
4161+ "2" | "true" | "full" => {
4162+ cmd.push_cc_arg("-g".into());
4163+ }
4164+ _ => {
4165+ // Err on the side of including too much info rather than too little.
4166+ cmd.push_cc_arg("-g".into());
4167+ }
4168+ }
4169+ if let Some(v) = dwarf_version {
4170+ cmd.push_cc_arg(format!("-gdwarf-{v}").into());
4171+ }
4172 }
4173 }
4174 }
4175diff --git a/rust-vendor/cfg-if/.cargo-checksum.json b/rust-vendor/cfg-if/.cargo-checksum.json
4176deleted file mode 100644
4177index bc7b820..0000000
4178--- a/rust-vendor/cfg-if/.cargo-checksum.json
4179+++ /dev/null
4180@@ -1 +0,0 @@
4181-{"files":{},"package":"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"}
4182\ No newline at end of file
4183diff --git a/rust-vendor/cfg-if/.cargo_vcs_info.json b/rust-vendor/cfg-if/.cargo_vcs_info.json
4184new file mode 100644
4185index 0000000..d4bec31
4186--- /dev/null
4187+++ b/rust-vendor/cfg-if/.cargo_vcs_info.json
4188@@ -0,0 +1,6 @@
4189+{
4190+ "git": {
4191+ "sha1": "3510ca6abea34cbbc702509a4e50ea9709925eda"
4192+ },
4193+ "path_in_vcs": ""
4194+}
4195\ No newline at end of file
4196diff --git a/rust-vendor/cfg-if/.github/dependabot.yml b/rust-vendor/cfg-if/.github/dependabot.yml
4197new file mode 100644
4198index 0000000..36e4ff0
4199--- /dev/null
4200+++ b/rust-vendor/cfg-if/.github/dependabot.yml
4201@@ -0,0 +1,14 @@
4202+version: 2
4203+updates:
4204+ - package-ecosystem: cargo
4205+ directory: "/"
4206+ schedule:
4207+ interval: daily
4208+ time: "08:00"
4209+ open-pull-requests-limit: 10
4210+
4211+ - package-ecosystem: github-actions
4212+ directory: "/"
4213+ schedule:
4214+ interval: weekly
4215+ open-pull-requests-limit: 3
4216diff --git a/rust-vendor/cfg-if/.github/workflows/main.yaml b/rust-vendor/cfg-if/.github/workflows/main.yaml
4217new file mode 100644
4218index 0000000..7288a62
4219--- /dev/null
4220+++ b/rust-vendor/cfg-if/.github/workflows/main.yaml
4221@@ -0,0 +1,48 @@
4222+name: CI
4223+on: [push, pull_request]
4224+
4225+permissions:
4226+ contents: read
4227+
4228+env:
4229+ RUSTDOCFLAGS: -Dwarnings
4230+ RUSTFLAGS: -Dwarnings
4231+
4232+jobs:
4233+ test:
4234+ name: Test
4235+ runs-on: ubuntu-latest
4236+ strategy:
4237+ matrix:
4238+ rust:
4239+ - "1.32" # msrv
4240+ - stable
4241+ - beta
4242+ - nightly
4243+ steps:
4244+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4245+ - name: Install Rust ${{ matrix.rust }}
4246+ run: |
4247+ rustup self update
4248+ rustup update ${{ matrix.rust }}
4249+ rustup default ${{ matrix.rust }}
4250+ rustc -vV
4251+ - name: Run tests
4252+ run: |
4253+ set -eux
4254+ # Remove `-Dwarnings` at the MSRV since lints may be different
4255+ [ "${{ matrix.rust }}" = "1.32" ] && export RUSTFLAGS="--cfg msrv_test"
4256+ cargo test
4257+
4258+ rustfmt:
4259+ name: Rustfmt
4260+ runs-on: ubuntu-latest
4261+ steps:
4262+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
4263+ - name: Install Rust Stable
4264+ run: |
4265+ rustup update stable
4266+ rustup default stable
4267+ rustup component add rustfmt
4268+ - name: Run rustfmt
4269+ run: cargo fmt -- --check
4270diff --git a/rust-vendor/cfg-if/.github/workflows/publish.yaml b/rust-vendor/cfg-if/.github/workflows/publish.yaml
4271new file mode 100644
4272index 0000000..248e3cc
4273--- /dev/null
4274+++ b/rust-vendor/cfg-if/.github/workflows/publish.yaml
4275@@ -0,0 +1,25 @@
4276+name: Release-plz
4277+
4278+permissions:
4279+ pull-requests: write
4280+ contents: write
4281+
4282+on:
4283+ push: { branches: [main] }
4284+
4285+jobs:
4286+ release-plz:
4287+ name: Release-plz
4288+ runs-on: ubuntu-24.04
4289+ steps:
4290+ - name: Checkout repository
4291+ uses: actions/checkout@v5
4292+ with:
4293+ fetch-depth: 0
4294+ - name: Install Rust (rustup)
4295+ run: rustup update nightly --no-self-update && rustup default nightly
4296+ - name: Run release-plz
4297+ uses: MarcoIeni/release-plz-action@v0.5
4298+ env:
4299+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4300+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
4301diff --git a/rust-vendor/cfg-if/Cargo.toml.orig b/rust-vendor/cfg-if/Cargo.toml.orig
4302new file mode 100644
4303index 0000000..6a98924
4304--- /dev/null
4305+++ b/rust-vendor/cfg-if/Cargo.toml.orig
4306@@ -0,0 +1,20 @@
4307+[package]
4308+name = "cfg-if"
4309+version = "1.0.4"
4310+authors = ["Alex Crichton <alex@alexcrichton.com>"]
4311+license = "MIT OR Apache-2.0"
4312+readme = "README.md"
4313+repository = "https://github.com/rust-lang/cfg-if"
4314+description = """
4315+A macro to ergonomically define an item depending on a large number of #[cfg]
4316+parameters. Structured like an if-else chain, the first matching branch is the
4317+item that gets emitted.
4318+"""
4319+edition = "2018"
4320+rust-version = "1.32"
4321+
4322+[dependencies]
4323+core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" }
4324+
4325+[features]
4326+rustc-dep-of-std = ["core"]
4327diff --git a/rust-vendor/clap/.cargo-checksum.json b/rust-vendor/clap/.cargo-checksum.json
4328deleted file mode 100644
4329index c9d230a..0000000
4330--- a/rust-vendor/clap/.cargo-checksum.json
4331+++ /dev/null
4332@@ -1 +0,0 @@
4333-{"files":{},"package":"f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f"}
4334\ No newline at end of file
4335diff --git a/rust-vendor/clap/.cargo_vcs_info.json b/rust-vendor/clap/.cargo_vcs_info.json
4336new file mode 100644
4337index 0000000..7d0fcad
4338--- /dev/null
4339+++ b/rust-vendor/clap/.cargo_vcs_info.json
4340@@ -0,0 +1,6 @@
4341+{
4342+ "git": {
4343+ "sha1": "8d87e70789ed7832aa93473779d248090712d66b"
4344+ },
4345+ "path_in_vcs": ""
4346+}
4347\ No newline at end of file
4348diff --git a/rust-vendor/clap/Cargo.lock b/rust-vendor/clap/Cargo.lock
4349index 807ac6b..5bd17a2 100644
4350--- a/rust-vendor/clap/Cargo.lock
4351+++ b/rust-vendor/clap/Cargo.lock
4352@@ -134,7 +134,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
4353
4354 [[package]]
4355 name = "clap"
4356-version = "4.5.49"
4357+version = "4.5.53"
4358 dependencies = [
4359 "automod",
4360 "clap-cargo",
4361@@ -160,9 +160,9 @@ dependencies = [
4362
4363 [[package]]
4364 name = "clap_builder"
4365-version = "4.5.49"
4366+version = "4.5.53"
4367 source = "registry+https://github.com/rust-lang/crates.io-index"
4368-checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730"
4369+checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
4370 dependencies = [
4371 "anstream",
4372 "anstyle",
4373diff --git a/rust-vendor/clap/Cargo.toml b/rust-vendor/clap/Cargo.toml
4374index 1d062c3..b88f87e 100644
4375--- a/rust-vendor/clap/Cargo.toml
4376+++ b/rust-vendor/clap/Cargo.toml
4377@@ -13,7 +13,7 @@
4378 edition = "2021"
4379 rust-version = "1.74"
4380 name = "clap"
4381-version = "4.5.49"
4382+version = "4.5.53"
4383 build = false
4384 include = [
4385 "build.rs",
4386@@ -505,7 +505,7 @@ doc-scrape-examples = true
4387 required-features = ["derive"]
4388
4389 [dependencies.clap_builder]
4390-version = "=4.5.49"
4391+version = "=4.5.53"
4392 default-features = false
4393
4394 [dependencies.clap_derive]
4395diff --git a/rust-vendor/clap/Cargo.toml.orig b/rust-vendor/clap/Cargo.toml.orig
4396new file mode 100644
4397index 0000000..8057bc2
4398--- /dev/null
4399+++ b/rust-vendor/clap/Cargo.toml.orig
4400@@ -0,0 +1,539 @@
4401+[workspace]
4402+resolver = "2"
4403+members = [
4404+ "clap_bench",
4405+ "clap_builder",
4406+ "clap_derive",
4407+ "clap_lex",
4408+ "clap_complete",
4409+ "clap_complete_nushell",
4410+ "clap_mangen",
4411+]
4412+
4413+[workspace.package]
4414+repository = "https://github.com/clap-rs/clap"
4415+license = "MIT OR Apache-2.0"
4416+edition = "2021"
4417+rust-version = "1.74" # MSRV
4418+include = [
4419+ "build.rs",
4420+ "src/**/*",
4421+ "Cargo.toml",
4422+ "LICENSE*",
4423+ "README.md",
4424+ "examples/**/*"
4425+]
4426+
4427+[workspace.lints.rust]
4428+rust_2018_idioms = { level = "warn", priority = -1 }
4429+unnameable_types = "allow"
4430+unreachable_pub = "warn"
4431+unsafe_op_in_unsafe_fn = "warn"
4432+unused_lifetimes = "warn"
4433+unused_macro_rules = "warn"
4434+unused_qualifications = "warn"
4435+
4436+[workspace.lints.clippy]
4437+bool_assert_comparison = "allow"
4438+branches_sharing_code = "allow"
4439+checked_conversions = "warn"
4440+collapsible_else_if = "allow"
4441+create_dir = "warn"
4442+dbg_macro = "warn"
4443+debug_assert_with_mut_call = "warn"
4444+doc_markdown = "warn"
4445+empty_enum = "warn"
4446+enum_glob_use = "warn"
4447+expl_impl_clone_on_copy = "warn"
4448+explicit_deref_methods = "warn"
4449+explicit_into_iter_loop = "warn"
4450+fallible_impl_from = "warn"
4451+filter_map_next = "warn"
4452+flat_map_option = "warn"
4453+float_cmp_const = "warn"
4454+fn_params_excessive_bools = "warn"
4455+from_iter_instead_of_collect = "warn"
4456+if_same_then_else = "allow"
4457+implicit_clone = "warn"
4458+imprecise_flops = "warn"
4459+inconsistent_struct_constructor = "warn"
4460+inefficient_to_string = "warn"
4461+infinite_loop = "warn"
4462+invalid_upcast_comparisons = "warn"
4463+large_digit_groups = "warn"
4464+large_stack_arrays = "warn"
4465+large_types_passed_by_value = "warn"
4466+let_and_return = "allow" # sometimes good to name what you are returning
4467+linkedlist = "warn"
4468+lossy_float_literal = "warn"
4469+macro_use_imports = "warn"
4470+mem_forget = "warn"
4471+mutex_integer = "warn"
4472+needless_continue = "allow"
4473+needless_for_each = "warn"
4474+negative_feature_names = "warn"
4475+path_buf_push_overwrite = "warn"
4476+ptr_as_ptr = "warn"
4477+rc_mutex = "warn"
4478+redundant_feature_names = "warn"
4479+ref_option_ref = "warn"
4480+rest_pat_in_fully_bound_structs = "warn"
4481+result_large_err = "allow"
4482+same_functions_in_if_condition = "warn"
4483+self_named_module_files = "warn"
4484+semicolon_if_nothing_returned = "warn"
4485+# str_to_string = "warn"
4486+# string_add = "warn"
4487+string_add_assign = "warn"
4488+string_lit_as_bytes = "warn"
4489+# string_to_string = "warn"
4490+todo = "warn"
4491+trait_duplication_in_bounds = "warn"
4492+uninlined_format_args = "warn"
4493+verbose_file_reads = "warn"
4494+# wildcard_imports = "warn"
4495+zero_sized_map_values = "warn"
4496+# Fix later:
4497+multiple_bound_locations = "allow"
4498+assigning_clones = "allow"
4499+blocks_in_conditions = "allow"
4500+
4501+[profile.dev]
4502+panic = "abort"
4503+
4504+[profile.release]
4505+panic = "abort"
4506+codegen-units = 1
4507+lto = true
4508+# debug = "line-tables-only" # requires Cargo 1.71
4509+
4510+[package]
4511+name = "clap"
4512+version = "4.5.53"
4513+description = "A simple to use, efficient, and full-featured Command Line Argument Parser"
4514+categories = ["command-line-interface"]
4515+keywords = [
4516+ "argument",
4517+ "cli",
4518+ "arg",
4519+ "parser",
4520+ "parse"
4521+]
4522+repository.workspace = true
4523+license.workspace = true
4524+edition.workspace = true
4525+rust-version.workspace = true
4526+include.workspace = true
4527+
4528+[package.metadata.docs.rs]
4529+features = ["unstable-doc"]
4530+rustdoc-args = ["--generate-link-to-definition"]
4531+
4532+[package.metadata.playground]
4533+features = ["unstable-doc"]
4534+
4535+[package.metadata.release]
4536+shared-version = true
4537+tag-name = "v{{version}}"
4538+pre-release-replacements = [
4539+ {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1},
4540+ {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1},
4541+ {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1},
4542+ {file="CHANGELOG.md", search="<!-- next-header -->", replace="<!-- next-header -->\n## [Unreleased] - ReleaseDate\n", exactly=1},
4543+ {file="CHANGELOG.md", search="<!-- next-url -->", replace="<!-- next-url -->\n[Unreleased]: https://github.com/clap-rs/clap/compare/{{tag_name}}...HEAD", exactly=1},
4544+ {file="CITATION.cff", search="^date-released: ....-..-..", replace="date-released: {{date}}"},
4545+ {file="CITATION.cff", search="^version: .+\\..+\\..+", replace="version: {{version}}"},
4546+ {file="src/lib.rs", search="blob/v.+\\..+\\..+/CHANGELOG.md", replace="blob/v{{version}}/CHANGELOG.md", exactly=1},
4547+]
4548+
4549+[features]
4550+default = [
4551+ "std",
4552+ "color",
4553+ "help",
4554+ "usage",
4555+ "error-context",
4556+ "suggestions",
4557+]
4558+debug = ["clap_builder/debug", "clap_derive?/debug"] # Enables debug messages
4559+unstable-doc = ["clap_builder/unstable-doc", "derive"] # for docs.rs
4560+
4561+# Used in default
4562+std = ["clap_builder/std"] # support for no_std in a backwards-compatible way
4563+color = ["clap_builder/color"]
4564+help = ["clap_builder/help"]
4565+usage = ["clap_builder/usage"]
4566+error-context = ["clap_builder/error-context"]
4567+suggestions = ["clap_builder/suggestions"]
4568+
4569+# Optional
4570+deprecated = ["clap_builder/deprecated", "clap_derive?/deprecated"] # Guided experience to prepare for next breaking release (at different stages of development, this may become default)
4571+derive = ["dep:clap_derive"]
4572+cargo = ["clap_builder/cargo"] # Disable if you're not using Cargo, enables Cargo-env-var-dependent macros
4573+wrap_help = ["clap_builder/wrap_help"]
4574+env = ["clap_builder/env"] # Use environment variables during arg parsing
4575+unicode = ["clap_builder/unicode"] # Support for unicode characters in arguments and help messages
4576+string = ["clap_builder/string"] # Allow runtime generated strings
4577+
4578+# In-work features
4579+unstable-v5 = ["clap_builder/unstable-v5", "clap_derive?/unstable-v5", "deprecated"]
4580+unstable-ext = ["clap_builder/unstable-ext"]
4581+unstable-styles = ["clap_builder/unstable-styles"] # deprecated
4582+unstable-derive-ui-tests = []
4583+unstable-markdown = ["clap_derive/unstable-markdown"]
4584+
4585+[lib]
4586+bench = false
4587+
4588+[dependencies]
4589+clap_builder = { path = "./clap_builder", version = "=4.5.53", default-features = false }
4590+clap_derive = { path = "./clap_derive", version = "=4.5.49", optional = true }
4591+
4592+[dev-dependencies]
4593+trybuild = "1.0.91"
4594+rustversion = "1.0.15"
4595+# Cutting out `filesystem` feature
4596+trycmd = { version = "0.15.3", default-features = false, features = ["color-auto", "diff", "examples"] }
4597+jiff = "0.2.3"
4598+snapbox = { version = "0.6.16", features = ["term-svg"] }
4599+shlex = "1.3.0"
4600+automod = "1.0.14"
4601+clap-cargo = { version = "0.15.0", default-features = false }
4602+semver = "1.0.26"
4603+
4604+[[example]]
4605+name = "demo"
4606+required-features = ["derive"]
4607+doc-scrape-examples = true
4608+
4609+[[example]]
4610+name = "cargo-example"
4611+required-features = ["cargo", "color"]
4612+doc-scrape-examples = true
4613+
4614+[[example]]
4615+name = "cargo-example-derive"
4616+required-features = ["derive", "color"]
4617+doc-scrape-examples = true
4618+
4619+[[example]]
4620+name = "escaped-positional"
4621+required-features = ["cargo"]
4622+doc-scrape-examples = true
4623+
4624+[[example]]
4625+name = "escaped-positional-derive"
4626+required-features = ["derive"]
4627+doc-scrape-examples = true
4628+
4629+[[example]]
4630+name = "find"
4631+required-features = ["cargo"]
4632+doc-scrape-examples = true
4633+
4634+[[example]]
4635+name = "git-derive"
4636+required-features = ["derive"]
4637+doc-scrape-examples = true
4638+
4639+[[example]]
4640+name = "typed-derive"
4641+required-features = ["derive"]
4642+doc-scrape-examples = true
4643+
4644+[[example]]
4645+name = "busybox"
4646+path = "examples/multicall-busybox.rs"
4647+doc-scrape-examples = true
4648+
4649+[[example]]
4650+name = "hostname"
4651+path = "examples/multicall-hostname.rs"
4652+doc-scrape-examples = true
4653+
4654+[[example]]
4655+name = "repl"
4656+path = "examples/repl.rs"
4657+required-features = ["help"]
4658+doc-scrape-examples = true
4659+
4660+[[example]]
4661+name = "repl-derive"
4662+path = "examples/repl-derive.rs"
4663+required-features = ["derive"]
4664+doc-scrape-examples = true
4665+
4666+[[example]]
4667+name = "01_quick"
4668+path = "examples/tutorial_builder/01_quick.rs"
4669+required-features = ["cargo"]
4670+doc-scrape-examples = true
4671+
4672+[[example]]
4673+name = "02_apps"
4674+path = "examples/tutorial_builder/02_apps.rs"
4675+doc-scrape-examples = true
4676+
4677+[[example]]
4678+name = "02_crate"
4679+path = "examples/tutorial_builder/02_crate.rs"
4680+required-features = ["cargo"]
4681+doc-scrape-examples = true
4682+
4683+[[example]]
4684+name = "02_app_settings"
4685+path = "examples/tutorial_builder/02_app_settings.rs"
4686+required-features = ["cargo"]
4687+doc-scrape-examples = true
4688+
4689+[[example]]
4690+name = "03_01_flag_bool"
4691+path = "examples/tutorial_builder/03_01_flag_bool.rs"
4692+required-features = ["cargo"]
4693+doc-scrape-examples = true
4694+
4695+[[example]]
4696+name = "03_01_flag_count"
4697+path = "examples/tutorial_builder/03_01_flag_count.rs"
4698+required-features = ["cargo"]
4699+doc-scrape-examples = true
4700+
4701+[[example]]
4702+name = "03_02_option"
4703+path = "examples/tutorial_builder/03_02_option.rs"
4704+required-features = ["cargo"]
4705+doc-scrape-examples = true
4706+
4707+[[example]]
4708+name = "03_02_option_mult"
4709+path = "examples/tutorial_builder/03_02_option_mult.rs"
4710+required-features = ["cargo"]
4711+doc-scrape-examples = true
4712+
4713+[[example]]
4714+name = "03_03_positional"
4715+path = "examples/tutorial_builder/03_03_positional.rs"
4716+required-features = ["cargo"]
4717+doc-scrape-examples = true
4718+
4719+[[example]]
4720+name = "03_03_positional_mult"
4721+path = "examples/tutorial_builder/03_03_positional_mult.rs"
4722+required-features = ["cargo"]
4723+doc-scrape-examples = true
4724+
4725+[[example]]
4726+name = "03_04_subcommands"
4727+path = "examples/tutorial_builder/03_04_subcommands.rs"
4728+required-features = ["cargo"]
4729+doc-scrape-examples = true
4730+
4731+[[example]]
4732+name = "03_05_default_values"
4733+path = "examples/tutorial_builder/03_05_default_values.rs"
4734+required-features = ["cargo"]
4735+doc-scrape-examples = true
4736+
4737+[[example]]
4738+name = "03_06_required"
4739+path = "examples/tutorial_builder/03_06_required.rs"
4740+required-features = ["cargo"]
4741+doc-scrape-examples = true
4742+
4743+[[example]]
4744+name = "04_01_possible"
4745+path = "examples/tutorial_builder/04_01_possible.rs"
4746+required-features = ["cargo"]
4747+doc-scrape-examples = true
4748+
4749+[[example]]
4750+name = "04_01_enum"
4751+path = "examples/tutorial_builder/04_01_enum.rs"
4752+required-features = ["cargo"]
4753+doc-scrape-examples = true
4754+
4755+[[example]]
4756+name = "04_02_parse"
4757+path = "examples/tutorial_builder/04_02_parse.rs"
4758+required-features = ["cargo"]
4759+doc-scrape-examples = true
4760+
4761+[[example]]
4762+name = "04_02_validate"
4763+path = "examples/tutorial_builder/04_02_validate.rs"
4764+required-features = ["cargo"]
4765+doc-scrape-examples = true
4766+
4767+[[example]]
4768+name = "04_03_relations"
4769+path = "examples/tutorial_builder/04_03_relations.rs"
4770+required-features = ["cargo"]
4771+doc-scrape-examples = true
4772+
4773+[[example]]
4774+name = "04_04_custom"
4775+path = "examples/tutorial_builder/04_04_custom.rs"
4776+required-features = ["cargo"]
4777+doc-scrape-examples = true
4778+
4779+[[example]]
4780+name = "05_01_assert"
4781+path = "examples/tutorial_builder/05_01_assert.rs"
4782+required-features = ["cargo"]
4783+test = true
4784+doc-scrape-examples = true
4785+
4786+[[example]]
4787+name = "01_quick_derive"
4788+path = "examples/tutorial_derive/01_quick.rs"
4789+required-features = ["derive"]
4790+doc-scrape-examples = true
4791+
4792+[[example]]
4793+name = "02_apps_derive"
4794+path = "examples/tutorial_derive/02_apps.rs"
4795+required-features = ["derive"]
4796+doc-scrape-examples = true
4797+
4798+[[example]]
4799+name = "02_crate_derive"
4800+path = "examples/tutorial_derive/02_crate.rs"
4801+required-features = ["derive"]
4802+doc-scrape-examples = true
4803+
4804+[[example]]
4805+name = "02_app_settings_derive"
4806+path = "examples/tutorial_derive/02_app_settings.rs"
4807+required-features = ["derive"]
4808+doc-scrape-examples = true
4809+
4810+[[example]]
4811+name = "03_01_flag_bool_derive"
4812+path = "examples/tutorial_derive/03_01_flag_bool.rs"
4813+required-features = ["derive"]
4814+doc-scrape-examples = true
4815+
4816+[[example]]
4817+name = "03_01_flag_count_derive"
4818+path = "examples/tutorial_derive/03_01_flag_count.rs"
4819+required-features = ["derive"]
4820+doc-scrape-examples = true
4821+
4822+[[example]]
4823+name = "03_02_option_derive"
4824+path = "examples/tutorial_derive/03_02_option.rs"
4825+required-features = ["derive"]
4826+doc-scrape-examples = true
4827+
4828+[[example]]
4829+name = "03_02_option_mult_derive"
4830+path = "examples/tutorial_derive/03_02_option_mult.rs"
4831+required-features = ["derive"]
4832+doc-scrape-examples = true
4833+
4834+[[example]]
4835+name = "03_03_positional_derive"
4836+path = "examples/tutorial_derive/03_03_positional.rs"
4837+required-features = ["derive"]
4838+doc-scrape-examples = true
4839+
4840+[[example]]
4841+name = "03_03_positional_mult_derive"
4842+path = "examples/tutorial_derive/03_03_positional_mult.rs"
4843+required-features = ["derive"]
4844+doc-scrape-examples = true
4845+
4846+[[example]]
4847+name = "03_04_subcommands_derive"
4848+path = "examples/tutorial_derive/03_04_subcommands.rs"
4849+required-features = ["derive"]
4850+doc-scrape-examples = true
4851+
4852+[[example]]
4853+name = "03_04_subcommands_alt_derive"
4854+path = "examples/tutorial_derive/03_04_subcommands_alt.rs"
4855+required-features = ["derive"]
4856+doc-scrape-examples = true
4857+
4858+[[example]]
4859+name = "03_05_default_values_derive"
4860+path = "examples/tutorial_derive/03_05_default_values.rs"
4861+required-features = ["derive"]
4862+doc-scrape-examples = true
4863+
4864+[[example]]
4865+name = "03_06_optional_derive"
4866+path = "examples/tutorial_derive/03_06_optional.rs"
4867+required-features = ["derive"]
4868+doc-scrape-examples = true
4869+
4870+[[example]]
4871+name = "04_01_enum_derive"
4872+path = "examples/tutorial_derive/04_01_enum.rs"
4873+required-features = ["derive"]
4874+doc-scrape-examples = true
4875+
4876+[[example]]
4877+name = "04_02_parse_derive"
4878+path = "examples/tutorial_derive/04_02_parse.rs"
4879+required-features = ["derive"]
4880+doc-scrape-examples = true
4881+
4882+[[example]]
4883+name = "04_02_validate_derive"
4884+path = "examples/tutorial_derive/04_02_validate.rs"
4885+required-features = ["derive"]
4886+doc-scrape-examples = true
4887+
4888+[[example]]
4889+name = "04_03_relations_derive"
4890+path = "examples/tutorial_derive/04_03_relations.rs"
4891+required-features = ["derive"]
4892+doc-scrape-examples = true
4893+
4894+[[example]]
4895+name = "04_04_custom_derive"
4896+path = "examples/tutorial_derive/04_04_custom.rs"
4897+required-features = ["derive"]
4898+doc-scrape-examples = true
4899+
4900+[[example]]
4901+name = "05_01_assert_derive"
4902+path = "examples/tutorial_derive/05_01_assert.rs"
4903+required-features = ["derive"]
4904+test = true
4905+doc-scrape-examples = true
4906+
4907+[[example]]
4908+name = "interop_augment_args"
4909+path = "examples/derive_ref/augment_args.rs"
4910+required-features = ["derive"]
4911+doc-scrape-examples = true
4912+
4913+[[example]]
4914+name = "interop_augment_subcommands"
4915+path = "examples/derive_ref/augment_subcommands.rs"
4916+required-features = ["derive"]
4917+doc-scrape-examples = true
4918+
4919+[[example]]
4920+name = "interop_hand_subcommand"
4921+path = "examples/derive_ref/hand_subcommand.rs"
4922+required-features = ["derive"]
4923+doc-scrape-examples = true
4924+
4925+[[example]]
4926+name = "interop_flatten_hand_args"
4927+path = "examples/derive_ref/flatten_hand_args.rs"
4928+required-features = ["derive"]
4929+doc-scrape-examples = true
4930+
4931+[profile.test]
4932+opt-level = 1
4933+
4934+[profile.bench]
4935+lto = true
4936+codegen-units = 1
4937+
4938+[lints]
4939+workspace = true
4940diff --git a/rust-vendor/clap/src/lib.rs b/rust-vendor/clap/src/lib.rs
4941index b9a5c41..0eab74c 100644
4942--- a/rust-vendor/clap/src/lib.rs
4943+++ b/rust-vendor/clap/src/lib.rs
4944@@ -12,7 +12,7 @@
4945 //! - [CLI Concepts][_concepts]
4946 //! - [FAQ][_faq]
4947 //! - [Discussions](https://github.com/clap-rs/clap/discussions)
4948-//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.5.49/CHANGELOG.md) (includes major version migration
4949+//! - [CHANGELOG](https://github.com/clap-rs/clap/blob/v4.5.53/CHANGELOG.md) (includes major version migration
4950 //! guides)
4951 //!
4952 //! ## Aspirations
4953diff --git a/rust-vendor/clap_builder/.cargo-checksum.json b/rust-vendor/clap_builder/.cargo-checksum.json
4954deleted file mode 100644
4955index 1051154..0000000
4956--- a/rust-vendor/clap_builder/.cargo-checksum.json
4957+++ /dev/null
4958@@ -1 +0,0 @@
4959-{"files":{},"package":"0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730"}
4960\ No newline at end of file
4961diff --git a/rust-vendor/clap_builder/.cargo_vcs_info.json b/rust-vendor/clap_builder/.cargo_vcs_info.json
4962new file mode 100644
4963index 0000000..dea304a
4964--- /dev/null
4965+++ b/rust-vendor/clap_builder/.cargo_vcs_info.json
4966@@ -0,0 +1,6 @@
4967+{
4968+ "git": {
4969+ "sha1": "8d87e70789ed7832aa93473779d248090712d66b"
4970+ },
4971+ "path_in_vcs": "clap_builder"
4972+}
4973\ No newline at end of file
4974diff --git a/rust-vendor/clap_builder/Cargo.lock b/rust-vendor/clap_builder/Cargo.lock
4975index 34c16f2..190f561 100644
4976--- a/rust-vendor/clap_builder/Cargo.lock
4977+++ b/rust-vendor/clap_builder/Cargo.lock
4978@@ -101,7 +101,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
4979
4980 [[package]]
4981 name = "clap_builder"
4982-version = "4.5.49"
4983+version = "4.5.53"
4984 dependencies = [
4985 "anstream",
4986 "anstyle",
4987diff --git a/rust-vendor/clap_builder/Cargo.toml b/rust-vendor/clap_builder/Cargo.toml
4988index e9d6a07..5a577db 100644
4989--- a/rust-vendor/clap_builder/Cargo.toml
4990+++ b/rust-vendor/clap_builder/Cargo.toml
4991@@ -13,7 +13,7 @@
4992 edition = "2021"
4993 rust-version = "1.74"
4994 name = "clap_builder"
4995-version = "4.5.49"
4996+version = "4.5.53"
4997 build = false
4998 include = [
4999 "build.rs",
5000diff --git a/rust-vendor/clap_builder/Cargo.toml.orig b/rust-vendor/clap_builder/Cargo.toml.orig
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches