diff --git a/.github/actions/build-bazel-package-binaries/action.yml b/.github/actions/build-bazel-package-binaries/action.yml index 0d39389f96..4f705082de 100644 --- a/.github/actions/build-bazel-package-binaries/action.yml +++ b/.github/actions/build-bazel-package-binaries/action.yml @@ -18,7 +18,7 @@ runs: cache-scope: bazel-release - name: Install Cargo for workspace metadata - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - name: Prepare native Windows release dependencies if: ${{ runner.os == 'Windows' }} diff --git a/.github/actions/build-cargo-package-binaries/action.yml b/.github/actions/build-cargo-package-binaries/action.yml index 7ddab0bd50..a590e6beff 100644 --- a/.github/actions/build-cargo-package-binaries/action.yml +++ b/.github/actions/build-cargo-package-binaries/action.yml @@ -39,7 +39,7 @@ runs: *) echo "Unsupported build mode: $BUILD_MODE" >&2; exit 1 ;; esac - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ inputs.target }} diff --git a/.github/workflows/cargo-deny.yml b/.github/workflows/cargo-deny.yml index 0f8ebae902..3ea46cc20d 100644 --- a/.github/workflows/cargo-deny.yml +++ b/.github/workflows/cargo-deny.yml @@ -18,12 +18,12 @@ jobs: - uses: ./.github/actions/setup-ci - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - name: Run cargo-deny uses: EmbarkStudios/cargo-deny-action@82eb9f621fbc699dd0918f3ea06864c14cc84246 # v2 with: - rust-version: 1.95.0 + rust-version: 1.99.1 manifest-path: ./codex-rs/Cargo.toml - name: Check for a clean worktree diff --git a/.github/workflows/rust-ci-full-nextest-platform.yml b/.github/workflows/rust-ci-full-nextest-platform.yml index 03050c6159..83bb4810d9 100644 --- a/.github/workflows/rust-ci-full-nextest-platform.yml +++ b/.github/workflows/rust-ci-full-nextest-platform.yml @@ -96,7 +96,7 @@ jobs: sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential pkg-config libcap-dev libasound2-dev bubblewrap fi - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ inputs.target }} @@ -323,7 +323,7 @@ jobs: sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends pkg-config libcap-dev libasound2-dev bubblewrap fi - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ inputs.target }} diff --git a/.github/workflows/rust-ci-full.yml b/.github/workflows/rust-ci-full.yml index 188165c6c6..568cb68a13 100644 --- a/.github/workflows/rust-ci-full.yml +++ b/.github/workflows/rust-ci-full.yml @@ -25,7 +25,7 @@ jobs: with: persist-credentials: false - uses: ./.github/actions/setup-ci - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: components: rustfmt - name: cargo fmt @@ -44,7 +44,7 @@ jobs: with: persist-credentials: false - uses: ./.github/actions/setup-ci - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - uses: taiki-e/install-action@44c6d64aa62cd779e873306675c7a58e86d6d532 # v2.62.49 with: tool: cargo-shear@1.11.2 @@ -246,7 +246,7 @@ jobs: sudo apt-get update -y sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential pkg-config libcap-dev libasound2-dev fi - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ matrix.target }} components: clippy diff --git a/.github/workflows/rust-ci.yml b/.github/workflows/rust-ci.yml index 55899660b3..dca9b7a0a8 100644 --- a/.github/workflows/rust-ci.yml +++ b/.github/workflows/rust-ci.yml @@ -74,7 +74,7 @@ jobs: with: persist-credentials: false - uses: ./.github/actions/setup-ci - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: components: rustfmt - name: cargo fmt @@ -99,7 +99,7 @@ jobs: with: persist-credentials: false - uses: ./.github/actions/setup-ci - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - uses: taiki-e/install-action@44c6d64aa62cd779e873306675c7a58e86d6d532 # v2.62.49 with: tool: cargo-shear@1.11.2 @@ -123,7 +123,7 @@ jobs: with: persist-credentials: false - uses: ./.github/actions/setup-ci - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - name: Install nightly argument-comment-lint toolchain shell: bash run: | diff --git a/.github/workflows/rust-release-windows.yml b/.github/workflows/rust-release-windows.yml index b5224edebe..ecf1ccf80c 100644 --- a/.github/workflows/rust-release-windows.yml +++ b/.github/workflows/rust-release-windows.yml @@ -106,7 +106,7 @@ jobs: Write-Host "Disk usage:" Get-PSDrive -PSProvider FileSystem | Format-Table -AutoSize Name, @{Name='Size(GB)';Expression={[math]::Round(($_.Used + $_.Free) / 1GB, 1)}}, @{Name='Free(GB)';Expression={[math]::Round($_.Free / 1GB, 1)}} - name: Set up Rust toolchain - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ matrix.build-system == 'cargo' && matrix.target || '' }} diff --git a/.github/workflows/rust-release.yml b/.github/workflows/rust-release.yml index 79f940f2a3..47580c36b2 100644 --- a/.github/workflows/rust-release.yml +++ b/.github/workflows/rust-release.yml @@ -38,7 +38,7 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + - uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 - name: Validate tag matches Cargo.toml version shell: bash run: | @@ -189,7 +189,7 @@ jobs: sudo apt-get update -y sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends binutils pkg-config libcap-dev - name: Set up Rust toolchain - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: targets: ${{ matrix.build-system == 'cargo' && matrix.target || '' }} diff --git a/.github/workflows/rusty-v8-release.yml b/.github/workflows/rusty-v8-release.yml index 89e7f7f313..196c99273e 100644 --- a/.github/workflows/rusty-v8-release.yml +++ b/.github/workflows/rusty-v8-release.yml @@ -161,9 +161,9 @@ jobs: python-version: "3.12" - name: Set up Rust toolchain for Cargo smoke - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: - toolchain: "1.95.0" + toolchain: "1.99.1" targets: ${{ matrix.target }} - name: Build Bazel V8 release pair @@ -324,9 +324,9 @@ jobs: architecture: x64 - name: Set up Codex Rust toolchain for Cargo smoke - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: - toolchain: "1.95.0" + toolchain: "1.99.1" targets: ${{ matrix.target }} - name: Install rusty_v8 Rust toolchain @@ -416,7 +416,7 @@ jobs: cd codex-rs RUSTY_V8_ARCHIVE="${GITHUB_WORKSPACE}/${archive}" \ RUSTY_V8_SRC_BINDING_PATH="${GITHUB_WORKSPACE}/${binding}" \ - cargo +1.95.0 test -p codex-v8-poc --target "${TARGET}" --features sandbox --no-run + cargo +1.99.1 test -p codex-v8-poc --target "${TARGET}" --features sandbox --no-run ) - name: Upload staged artifacts diff --git a/.github/workflows/v8-canary.yml b/.github/workflows/v8-canary.yml index 2dc088335e..837ac0b40a 100644 --- a/.github/workflows/v8-canary.yml +++ b/.github/workflows/v8-canary.yml @@ -179,9 +179,9 @@ jobs: python-version: "3.12" - name: Set up Rust toolchain for Cargo smoke - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: - toolchain: "1.95.0" + toolchain: "1.99.1" targets: ${{ matrix.target }} - name: Build Bazel V8 release pair @@ -347,9 +347,9 @@ jobs: architecture: x64 - name: Set up Codex Rust toolchain for Cargo smoke - uses: dtolnay/rust-toolchain@e081816240890017053eacbb1bdf337761dc5582 # 1.95.0 + uses: dtolnay/rust-toolchain@d124f86f28ff42855784ff3319f48ac182c248f8 # 1.99.1 with: - toolchain: "1.95.0" + toolchain: "1.99.1" targets: ${{ matrix.target }} - name: Install rusty_v8 Rust toolchain @@ -439,7 +439,7 @@ jobs: cd codex-rs RUSTY_V8_ARCHIVE="${GITHUB_WORKSPACE}/${archive}" \ RUSTY_V8_SRC_BINDING_PATH="${GITHUB_WORKSPACE}/${binding}" \ - cargo +1.95.0 test -p codex-v8-poc --target "${TARGET}" --features sandbox --no-run + cargo +1.99.1 test -p codex-v8-poc --target "${TARGET}" --features sandbox --no-run ) - name: Upload staged artifacts diff --git a/MODULE.bazel b/MODULE.bazel index 8b2726b8dd..1ffbfa19e7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -322,7 +322,7 @@ toolchains.toolchain( edition = "2024", extra_exec_rustc_flags = MSVC_RUSTC_FLAGS, extra_rustc_flags = MSVC_RUSTC_FLAGS, - version = "1.95.0", + version = "1.99.1", ) use_repo(toolchains, "default_rust_toolchains") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5dba5c34ba..600da0ca9a 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -2428,108 +2428,108 @@ "zvariant_utils_2.1.0": "{\"dependencies\":[{\"name\":\"proc-macro2\",\"req\":\"^1.0.81\"},{\"name\":\"quote\",\"req\":\"^1.0.36\"},{\"features\":[\"extra-traits\",\"full\"],\"name\":\"syn\",\"req\":\"^2.0.64\"}],\"features\":{}}" }, "@@rules_rs+//rs/toolchains:module_extension.bzl%toolchains": { - "cargo-1.95.0-aarch64-apple-darwin.tar.xz": "6c2ffed8e1ac9cf4dc9e80f282a869a6b237a153e7c55cca039d33de29d80aaf", - "cargo-1.95.0-aarch64-pc-windows-msvc.tar.xz": "e645b30fa035a18aa12d28b699052014c7efa9dd4a33dabd223f0d16b5fa28e8", - "cargo-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "7c070aeba9bbf12073646995a03f36c346bb5f541d0078ba6d9dc2a7adaaf6af", - "cargo-1.95.0-x86_64-apple-darwin.tar.xz": "e2e1131ade2dddc0d779e0ab3a6a990085c7a654951235742823c3a1ce0f190f", - "cargo-1.95.0-x86_64-pc-windows-msvc.tar.xz": "cab2606cb2d0aa31c55d50512fe07a9f15e893227566fbeb448306760cd0d2bf", - "cargo-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "e74edd2cf7d0f1f1383b4f00eb90c843750bc489e2ccf7214e6476678a907425", - "clippy-1.95.0-aarch64-apple-darwin.tar.xz": "fd183baa023d0c4e0c5b8184226e2d4c85126adf156cb1f3a726ec593bba8d62", - "clippy-1.95.0-aarch64-pc-windows-msvc.tar.xz": "44c1b7ada72aa8f3fcaceb37a3899665bc9b160c2fea77879c8ecb65a9e97eba", - "clippy-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "fb021e0c0fc2238be9266d7614f4a26bc372544c4cba3528d729ab24ad229fc9", - "clippy-1.95.0-x86_64-apple-darwin.tar.xz": "e47367f6b1489d74cbba93b387310adcb82e27a51e44b2c6ff543eb4f199fe32", - "clippy-1.95.0-x86_64-pc-windows-msvc.tar.xz": "ddc151d6f58c6658b7380292ecaef36e62d063bbdbf7f5802669810575bb5b75", - "clippy-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "ac779bc9839dd47180806b133e4e2563c4a34716284cd5b8fede8ef289f452ca", - "rust-analyzer-1.95.0-aarch64-apple-darwin.tar.xz": "11231fc6574301b94bd379af4ef409caef7c65b877bcecf2b227dc0d74aa0ec7", - "rust-analyzer-1.95.0-aarch64-pc-windows-msvc.tar.xz": "92958624f23d4b0980748ac9e6d67f6f67a868f8224e8c6240e3f84145e2d805", - "rust-analyzer-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "b37e5b9aad624e54228254f98a710ee19ad464fe7ada93ef12e20c87886a0047", - "rust-analyzer-1.95.0-x86_64-apple-darwin.tar.xz": "6cd111900e13fd19b188c5d8844b34136af3967066c0ea2914ce5c3508296c85", - "rust-analyzer-1.95.0-x86_64-pc-windows-msvc.tar.xz": "ba58e349f5e8b0ef13735c48d4ad8d8c7664472f8403f3c9d97b291bd54a7638", - "rust-analyzer-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "a9d71c6e7427c45afcd846a8b34a3e3301ae7a0e91a2bcf929326af77a7dc68e", - "rust-src-1.95.0.tar.xz": "67b09138c8db96afc4bbfc69ea771ac9a091fd777698acb43f6dfd9fb7dea363", - "rust-std-1.95.0-aarch64-apple-darwin.tar.xz": "9b30089b0f767cb91b2190ffec55a9beeb2a21a1405d8da0f664d7e09d08e6d8", - "rust-std-1.95.0-aarch64-apple-ios-macabi.tar.xz": "0e1760828f4e0fa1cde0061ba5680619dcc1cdcafec9242cc18dc4547c73b1cd", - "rust-std-1.95.0-aarch64-apple-ios-sim.tar.xz": "4bfe5b0c74c10d121a8ac60f1833c7714b963f9130f6256ca313d94405267deb", - "rust-std-1.95.0-aarch64-apple-ios.tar.xz": "6fcc42d8dbba4910a128ffa32d62a730339a7e3882a90341a881f2edf66ff55a", - "rust-std-1.95.0-aarch64-linux-android.tar.xz": "de5e8fa5d955809891eea77682811fc90be705f78883bd94071e98f5a738d05b", - "rust-std-1.95.0-aarch64-pc-windows-gnullvm.tar.xz": "93d810b8872771afe04f66aa30a4eee48736aca693186e4c7cc2766e1a82e340", - "rust-std-1.95.0-aarch64-pc-windows-msvc.tar.xz": "be21b5a8a71c49b4dcbc19956233b0de7bfda3ee3c8a199148299f867e95cb42", - "rust-std-1.95.0-aarch64-unknown-fuchsia.tar.xz": "b311a0523f75e031d683d983515edb9baaf22a843dbd44ce2a30a3204752f592", - "rust-std-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "3a21b271b1ff973b94d69b25e7a39992f9fbcae1ab6d9475844a23e6ad3908ac", - "rust-std-1.95.0-aarch64-unknown-linux-musl.tar.xz": "f6710416ed9a7d5cf2a15efa761eb79a1deeb43f9961bbe05cc97bec4ef9064a", - "rust-std-1.95.0-aarch64-unknown-none-softfloat.tar.xz": "54d691468e25e7989b022a171337beadf78b5202877b312b75182b7f93efbb8b", - "rust-std-1.95.0-aarch64-unknown-none.tar.xz": "2b0c986dc9902866311f1fe2d44bc2bd84479d2ac84ed7ada76a5eb7ba37080f", - "rust-std-1.95.0-aarch64-unknown-uefi.tar.xz": "ca657564103024d345ca32e8e4ade7ebb395a51163d2897d9e5f8373c025e49e", - "rust-std-1.95.0-arm-linux-androideabi.tar.xz": "12a9c5fa24608159c2b2bd50abc0c6d0add407c0258cee894c2f61c07051a9c4", - "rust-std-1.95.0-arm-unknown-linux-gnueabi.tar.xz": "f6cd592dacdf41f724ee90a2f34db028e37ca2a7fb26fa86e93e8fd68e24d066", - "rust-std-1.95.0-arm-unknown-linux-gnueabihf.tar.xz": "fda8408ea17881c6529e27e58672d6c628f786cad557fac92856077e7a610239", - "rust-std-1.95.0-arm-unknown-linux-musleabi.tar.xz": "62f21fabc209fd0de53156764fc426da74c59525bb60cb4c1c3ffd1be0bbe00b", - "rust-std-1.95.0-arm-unknown-linux-musleabihf.tar.xz": "2842ce67f7a4c68c6e8b30ad3bb36484fb745edcc2694b2a36bf0609cf758044", - "rust-std-1.95.0-armv7-linux-androideabi.tar.xz": "61e95e144986c52ff9fa2fe3c249a68b2bf268adb2a2eeb81d80c180e43027f1", - "rust-std-1.95.0-armv7-unknown-linux-gnueabi.tar.xz": "e23454d6ca7fc3f5eb7cf9241572765176d86e9f45d4f394de31a5fd794e523f", - "rust-std-1.95.0-armv7-unknown-linux-gnueabihf.tar.xz": "bd319e18ca2dad0450f76277874d56356330da536be8cf271509f8e6f28ac6de", - "rust-std-1.95.0-armv7-unknown-linux-musleabi.tar.xz": "a49bc987e0531800f92825ce61402b5734ea747caa8970d3373506742ed7daa6", - "rust-std-1.95.0-armv7-unknown-linux-musleabihf.tar.xz": "77f9aaff4669c076edc96cdb99dc21749d2c692c862232b52176572c289fe671", - "rust-std-1.95.0-i686-linux-android.tar.xz": "e7b5e18d1d4119c7c1454ee8427933f27aeff9e81a22248c2829f5f299d3a937", - "rust-std-1.95.0-i686-pc-windows-gnu.tar.xz": "2e98fb94fc500690d7e72e071ce29dd98790ff518163963f5c82c32afba9231d", - "rust-std-1.95.0-i686-pc-windows-gnullvm.tar.xz": "b429a8c456d6a1815ece064102bd6a25f67d46db4f6d7b79dbe7d1b9d1f78e0f", - "rust-std-1.95.0-i686-pc-windows-msvc.tar.xz": "6206fd7e8bd119e9d1ba1c425ad25c282512eb0d5659f2dcb4be224b84715706", - "rust-std-1.95.0-i686-unknown-freebsd.tar.xz": "3b13b3ccecf482c0da3e94f19e0aa5e8e375622f4e09b30e6dae2b7638bee63f", - "rust-std-1.95.0-i686-unknown-linux-gnu.tar.xz": "527c5d5249a7f77b48d3c9da3ac512d27b47f43d08dbe3c6f82a3d5b35d8aa27", - "rust-std-1.95.0-i686-unknown-linux-musl.tar.xz": "af4d3e7aabb63d39a7a2ff5435cc993b65ff38a2d2e23f1967e519037a1b0455", - "rust-std-1.95.0-i686-unknown-uefi.tar.xz": "3233985273616ec36861f2d50b4a025c903b2bb8c45b171c0ae9e2de8342125b", - "rust-std-1.95.0-loongarch64-unknown-linux-gnu.tar.xz": "eaf2c37c3293eea742e7ab20f25718ab19c93bd381df8823113fce70460c19c3", - "rust-std-1.95.0-loongarch64-unknown-linux-musl.tar.xz": "959b1bf99bc724c87bc4f2c0d184eb0554c134885c05c90d060eb572838924fd", - "rust-std-1.95.0-loongarch64-unknown-none.tar.xz": "139e8bdc86cbc21e149a2229c092f74741c907ef6424fa8ce8d435db47895cb6", - "rust-std-1.95.0-powerpc-unknown-linux-gnu.tar.xz": "59e0abbaa246502521e37c55b8d6cf88d5b8a697b0c70c61ec189937308f7246", - "rust-std-1.95.0-powerpc64-unknown-linux-gnu.tar.xz": "cc7fb9aa289ff1756502ae16a05e2885289165f01ed94a7c2db6576b3dae74a6", - "rust-std-1.95.0-powerpc64le-unknown-linux-gnu.tar.xz": "2370d9266051a0b23346d42e43a00f91b2daff22a963fb03e28ae50cb0b76c50", - "rust-std-1.95.0-powerpc64le-unknown-linux-musl.tar.xz": "0362ba4ecfe0bb508f0d2b064c6fbbfe72604d5ae1989d6a8a7b4fe5ff1889f1", - "rust-std-1.95.0-riscv32imac-unknown-none-elf.tar.xz": "09d568f3f445670917ee9aeb3a86374dae760da8a92d4bfecde88af7fe0bd6ad", - "rust-std-1.95.0-riscv32imc-unknown-none-elf.tar.xz": "04befebf3b15372dacb7e6c0fcdab842c17a63ea58bf2f4cdccd7182ae9195c6", - "rust-std-1.95.0-riscv64gc-unknown-linux-gnu.tar.xz": "50fe7869e166bb4c990a0e1664366b1ffdbe669664b7663cd03c079bd0efdcac", - "rust-std-1.95.0-riscv64gc-unknown-linux-musl.tar.xz": "e01bdbf5d6fa3e529671d49e87ba81dc9612101144f3ee5a0e1de3c48f27b47c", - "rust-std-1.95.0-riscv64gc-unknown-none-elf.tar.xz": "a4cb7a1527f3b56a39464e5ca2b174a27b708b26d78e604735eb5ffd9ee4d20b", - "rust-std-1.95.0-s390x-unknown-linux-gnu.tar.xz": "31978c1286afff9a0bb7f01c2ae4a39f40727b6100a82b6d934f146b06cde510", - "rust-std-1.95.0-sparc64-unknown-linux-gnu.tar.xz": "88619b2413d218c119a2060e583a9e835fa5f9cf6ac038070eec10b02c191056", - "rust-std-1.95.0-thumbv6m-none-eabi.tar.xz": "602ec023c4615fc1c2d78b688554d42fa525e07e861c052f406fd7a607e5d5ee", - "rust-std-1.95.0-thumbv7em-none-eabi.tar.xz": "fb671966ba9aede333956ed43fcfe114ec890ca6e70369c9f3219871ee3ae8ae", - "rust-std-1.95.0-thumbv7em-none-eabihf.tar.xz": "fa3d189c09b64d818ad65a3fec1ce1c7d7b3908aea6fc4607a3fcc05067cad81", - "rust-std-1.95.0-thumbv7m-none-eabi.tar.xz": "e9e39f483ad4c1ce55fa4f508009e8d7d7ef25efe6592f7bfbabc159a24658ff", - "rust-std-1.95.0-thumbv8m.main-none-eabi.tar.xz": "3b64bffb193b37e83dc7b169add55f0ef3298220f8475468be4bb87276a68105", - "rust-std-1.95.0-thumbv8m.main-none-eabihf.tar.xz": "25ec92187d3a45fb1e397b0ba6000341d872523925a99a48b1978bdf1e6038cb", - "rust-std-1.95.0-wasm32-unknown-emscripten.tar.xz": "967b92a8682e8b8a1a459d776b36e41c906cdcac1008fef70e4800fec40d6864", - "rust-std-1.95.0-wasm32-unknown-unknown.tar.xz": "5587b89ff69623d09e476439d44a24453b4e4ea3d5e0b53a5c0a935151ff3fd1", - "rust-std-1.95.0-wasm32-wasip1-threads.tar.xz": "9079935a00a3c3aaf284957bbe82972983ce2708019687cec1f4988c30c1e0f3", - "rust-std-1.95.0-wasm32-wasip1.tar.xz": "86e5b6d98c7520bb9c3ad4f8cbbbf14beaf230b0f06b437db398e3c4f7dae43e", - "rust-std-1.95.0-wasm32-wasip2.tar.xz": "68146eb4c887431379966efa21d75dc957f18bd1166239c1deaa53fe38cb9ab4", - "rust-std-1.95.0-x86_64-apple-darwin.tar.xz": "2be13c14122b8d4d09b7f7c434fca9ae7215ec72049944189c88c4d9128ce504", - "rust-std-1.95.0-x86_64-apple-ios-macabi.tar.xz": "60b92e51e87f84046e0b19ccedc88c45b4b62c3ab10351f8473453f341c894f1", - "rust-std-1.95.0-x86_64-apple-ios.tar.xz": "11abb7b1c92b5a88b8c3ba21ee596a1be7dee5e817b336f26b4968d8ed5513ad", - "rust-std-1.95.0-x86_64-linux-android.tar.xz": "77b8e2be4a6e784a63cd77de944864c8044ddf4d5c7d56f663ada8a38a8319c4", - "rust-std-1.95.0-x86_64-pc-windows-gnu.tar.xz": "f57e045016a04130125fb43295d95f9ad2bebc296150eadb031dbf5167ad12bd", - "rust-std-1.95.0-x86_64-pc-windows-gnullvm.tar.xz": "3c52a0e34e0b4abe4439cabd77383408f5f9c80b6e249fbc0855df424b45008d", - "rust-std-1.95.0-x86_64-pc-windows-msvc.tar.xz": "7c659bdc88646e7e1befa370881bd311be87b26f006933a28b40dcab2f7cc832", - "rust-std-1.95.0-x86_64-unknown-freebsd.tar.xz": "dfe913c2f477172db10d3723d9f5c536d8b6f42776c979cc855820d8249adec3", - "rust-std-1.95.0-x86_64-unknown-fuchsia.tar.xz": "faa2bc09a3992f1d81b538121d64a3a396f4ec666e665c79d2ab47461c2d3206", - "rust-std-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "047ea7098803d3500fa1072e9cee5392697e21525559e4458128a2bf874aa382", - "rust-std-1.95.0-x86_64-unknown-linux-musl.tar.xz": "aee540abf132920f791ef781489851a078d69dff493fb628d49c1d573f92bb3a", - "rust-std-1.95.0-x86_64-unknown-netbsd.tar.xz": "7a82b71c53f20cb147a340819fcab645da220b312a96194531e631ee99783a7d", - "rust-std-1.95.0-x86_64-unknown-none.tar.xz": "7c151c0e7bf3b0b4d7136774cd3686e5f691b761b648b17e83af58e7669d3e01", - "rust-std-1.95.0-x86_64-unknown-uefi.tar.xz": "4cc55629480aa8ab5b39eb6b7458433b48461d6626fdea0330fb88e23af818ea", - "rustc-1.95.0-aarch64-apple-darwin.tar.xz": "149e85a285b6eba58eb6c8bdf7deb1b93763890598e62cb635a712e3a8454f04", - "rustc-1.95.0-aarch64-pc-windows-msvc.tar.xz": "0dbec9739b93427ccdd3948c3b1f83cec42e4c9545d930a8d1e1464ff4092c5f", - "rustc-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "0fe3689eeaed603e5ef24572d11597d3edadaefd2cb181674ad621260f2501d2", - "rustc-1.95.0-src.tar.xz": "62b67230754da642a264ca0cb9fc08820c54e2ed7b3baba0289876d4cdb48c08", - "rustc-1.95.0-x86_64-apple-darwin.tar.xz": "33db457715446a69ed6f69f78f5fbb9ca8e17a16585d1d7a0060479bfe4c7afc", - "rustc-1.95.0-x86_64-pc-windows-msvc.tar.xz": "4cb1f3b578adc6541cbe13a6f85f1fd8c0ce643d90b506a36dee24c680864c67", - "rustc-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "8426a3d170a5879f5682f5fbdd024a1779b3951e7baba685af2d6dc32a6dfc15", - "rustfmt-1.95.0-aarch64-apple-darwin.tar.xz": "c54af79adfdc790d27fc56e24407e370c80be5a89ad537eef9fbd45d3c3e28e8", - "rustfmt-1.95.0-aarch64-pc-windows-msvc.tar.xz": "a873c048743e6da29e09a8b55c774ee113f8f6ae4fd57d988d304a6453801b34", - "rustfmt-1.95.0-aarch64-unknown-linux-gnu.tar.xz": "64cce868f0f3d29f1524e11e9bab01ac9d538a31665fea1cd6b78af46a1c0a41", - "rustfmt-1.95.0-x86_64-apple-darwin.tar.xz": "5f7228f40a160e80d260e74e068d6fec8627aa02f1f5ae29d2019b9347076401", - "rustfmt-1.95.0-x86_64-pc-windows-msvc.tar.xz": "8bcf91606e36b8a0164efafde50709cd7a3c02143a2edaa81dbf3dccd6ed8f4c", - "rustfmt-1.95.0-x86_64-unknown-linux-gnu.tar.xz": "f1b2a7301513ffdd95ebf22ebbdd932e4d17fc806f748d93924740d0297b1396" + "cargo-1.99.1-aarch64-apple-darwin.tar.zst": "07cfe7213623eaebb2683082680be7080043b01bff548f2606e2345d6b8e6e8d", + "cargo-1.99.1-aarch64-pc-windows-msvc.tar.zst": "327729ed9f7b5bd00b8f37e52a9fc817f02bad9267b3d4b0dac0e2148ab9eed4", + "cargo-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "fb6d7084701b7df2ad73e8d5a1525dcc3aa0e43e8778dd7036e73e4232a36c3d", + "cargo-1.99.1-x86_64-apple-darwin.tar.zst": "074f623ee1a3c0f14c6ebb886a1589cc847eeb4d02934a259a34508399b725f3", + "cargo-1.99.1-x86_64-pc-windows-msvc.tar.zst": "eb49059f1b8da41cbd67a05b2dfe5adefed6c71ce8157234e814a9b28935f3e9", + "cargo-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "0eac5a5b5baf729fbc01ccf2c1622798b7257dcb56dff0aef93744d612742d82", + "clippy-1.99.1-aarch64-apple-darwin.tar.zst": "67bc910fae2725e94ce504bc1fc7660b1ef03493567c5b5f0700632979bdb9f3", + "clippy-1.99.1-aarch64-pc-windows-msvc.tar.zst": "958437ee909c1b03bf551542b0913c40e064d7b4c6d10e78a01beff43b2bbff9", + "clippy-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "961e2d53b6cdc506e14e68e79d29cd9595fedc52e380ba8ef0d708ed4d7a3f69", + "clippy-1.99.1-x86_64-apple-darwin.tar.zst": "a93462dfc46eea6c328c07e5729a8ff8128e738570397b51191be33ceaf9d131", + "clippy-1.99.1-x86_64-pc-windows-msvc.tar.zst": "39e95407477d3865ddb8a5a55cbb78dde8b4e6d67257b6f35568cea27a5f8690", + "clippy-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "782b54d0dbf56b59cf61e1737a24e4c1337ce4e0a27930e3faaec350add57765", + "rust-analyzer-1.99.1-aarch64-apple-darwin.tar.zst": "e0a042dda64c9162537ea02445ff872e904576e0b4e0122211f4b09b0020f144", + "rust-analyzer-1.99.1-aarch64-pc-windows-msvc.tar.zst": "a5c29373b588c4f12b7775a80638c26a086b2468bb97e90bf8b659273834e10a", + "rust-analyzer-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "8b334d6656f2c765e939feec8e1c19ba1e470f788034b895d89ed0fd1ea9a2ec", + "rust-analyzer-1.99.1-x86_64-apple-darwin.tar.zst": "843373191564a705a3dc79a4cf18cc5c22df759b605545fc7d7fba09e10b575a", + "rust-analyzer-1.99.1-x86_64-pc-windows-msvc.tar.zst": "5e10777a46ab66dc782ea6dad25097d9a7885c27d562c918c49565db678a750f", + "rust-analyzer-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "30ffc55c197aa1e92288383dd52ca428810a3cfc9ad9f34dcf470ef21753df40", + "rust-src-1.99.1.tar.zst": "4bb19a77ece1ee2155948ed48fb3500d1450dbf699c8109eb7febe5e2bc3c500", + "rust-std-1.99.1-aarch64-apple-darwin.tar.zst": "43add5f355ee71ce349052597c1081d63953139fec46e4f26f51908daef041ba", + "rust-std-1.99.1-aarch64-apple-ios-macabi.tar.zst": "a461931bec445835c4d9f1bb201f19c7d01caf91555a711742d02c35f298313f", + "rust-std-1.99.1-aarch64-apple-ios-sim.tar.zst": "a89df38dd4dc6113ffb0fbfe5bd9e18691e2b0ac8ac6db521800df5b511cda81", + "rust-std-1.99.1-aarch64-apple-ios.tar.zst": "97c5ce4c0f5c07eb2b4d4c3eaf5f577aa0bfca1cfe3d17e45b84b2286ee77a9f", + "rust-std-1.99.1-aarch64-linux-android.tar.zst": "102111aef57b7e394e2870cd3ca21be2b1e7356ebb3ebddc24d006797e9a1ebb", + "rust-std-1.99.1-aarch64-pc-windows-gnullvm.tar.zst": "f6b229ace376d65a7893df2ad8c6bc064b5c53d4f9074a003f234b4a722751d9", + "rust-std-1.99.1-aarch64-pc-windows-msvc.tar.zst": "5971fb768be63df465b8ced03fbc610c5e3c82d03e19e26f81d06a5d1ceefc92", + "rust-std-1.99.1-aarch64-unknown-fuchsia.tar.zst": "192231ca963f2ded85e85542306d229ac21abbe21ebf155c5fd811dc35bcf43f", + "rust-std-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "b6952b5e51c5a83656f502e70f828f89d9a249ad6001ecbac982273375d6d07e", + "rust-std-1.99.1-aarch64-unknown-linux-musl.tar.zst": "d0a17803f6e8d08bfccc85e3a3e60f507ce27e37de4896ec8bc736b8bb48de27", + "rust-std-1.99.1-aarch64-unknown-none-softfloat.tar.zst": "60909dc4e91b65b70ae1af78f3e3bd8b716ff2fb2ea145faf8b5025f19910e97", + "rust-std-1.99.1-aarch64-unknown-none.tar.zst": "c1bc44024e5e75aef2cfb210ef7495ea1813acf75b14763bac97daa4e1fd8d49", + "rust-std-1.99.1-aarch64-unknown-uefi.tar.zst": "1e0aad5d62d1b5f181146f50f49582a6e77692ad5325512ce4e927e74b9cfa22", + "rust-std-1.99.1-arm-linux-androideabi.tar.zst": "79f0bc3f930f110bf7447997b089fd16b8099aebe747eb9bb57ef0ffaabcee70", + "rust-std-1.99.1-arm-unknown-linux-gnueabi.tar.zst": "6597cc2269c84e9474e3a2d3ba23d6a1864e0f6b7583489cf4374be2422f3d41", + "rust-std-1.99.1-arm-unknown-linux-gnueabihf.tar.zst": "500aee7049b5b9c68c164a3a089fe9699a62d5247ccba4fae7e67b2e61135ec1", + "rust-std-1.99.1-arm-unknown-linux-musleabi.tar.zst": "6192cfd4ccd775652c75038af99166c506fd1b1f2b7264922c356f36d530bb98", + "rust-std-1.99.1-arm-unknown-linux-musleabihf.tar.zst": "231a6b9255cc47f69f3c32a0f9f9408db3cdb591a17499043d17560e3e37ef71", + "rust-std-1.99.1-armv7-linux-androideabi.tar.zst": "6fcafd83721dbc893170274eddc684bcf7ba1f7fb6a015c3f902dd1e53014085", + "rust-std-1.99.1-armv7-unknown-linux-gnueabi.tar.zst": "98b1c630b054a95a108961d13749dd9c9047e7ff92487b567cb0e9a9783d042b", + "rust-std-1.99.1-armv7-unknown-linux-gnueabihf.tar.zst": "cc8bf939b05cc5f33d4d65c526c2840455f65e374714b0d2fd80e85a58c88308", + "rust-std-1.99.1-armv7-unknown-linux-musleabi.tar.zst": "5c94d6812a293029d2af0d0fd92fab30a5f3f7afff869cb7aed3a8a630852a93", + "rust-std-1.99.1-armv7-unknown-linux-musleabihf.tar.zst": "e300b9852d163acda7a54bda0b74638714833be0737b9cd22c87c0db5f03387d", + "rust-std-1.99.1-i686-linux-android.tar.zst": "67e383d8700e550f86053044934e828e0ae933dbcc61b206d041f3468cc4f25c", + "rust-std-1.99.1-i686-pc-windows-gnu.tar.zst": "608b93cba2ea4f9332982fb238dcfbad84bfaf816d2f4dd7f62db346fb07afa4", + "rust-std-1.99.1-i686-pc-windows-gnullvm.tar.zst": "af3da020acffe722e7ff12c602ea2cbb4786b5454546fd1c5dad5a31d141457d", + "rust-std-1.99.1-i686-pc-windows-msvc.tar.zst": "a9245571ea56b91021945b4442431e3b74ebf544ca319e6b8b134f770e671c73", + "rust-std-1.99.1-i686-unknown-freebsd.tar.zst": "b1b5abb263eb54196d83190d0fe9dcffa55c863bdbedd4592fe4808e16321f8f", + "rust-std-1.99.1-i686-unknown-linux-gnu.tar.zst": "aeed4bb649550843b4dd1ebb6906b238208ecb4717a030eb878fd5ea7a689fe3", + "rust-std-1.99.1-i686-unknown-linux-musl.tar.zst": "81b7776606f068109c22c82325eab07cea3f389633b8fc4a4949e84ff7d4b92b", + "rust-std-1.99.1-i686-unknown-uefi.tar.zst": "a903bf40008e6d77b476bb9495072e1f2eccce10f95605d9d7eaf71dbe88164a", + "rust-std-1.99.1-loongarch64-unknown-linux-gnu.tar.zst": "3453783e6ea734d9541ab73e2b84d88e346522041c87967e8a88862d55be3381", + "rust-std-1.99.1-loongarch64-unknown-linux-musl.tar.zst": "a7b3b826fda0834cf1ff6a051e2a70ddb8d705f02cc605767849923773f6a530", + "rust-std-1.99.1-loongarch64-unknown-none.tar.zst": "0b086187fcb80549de2828beb6dfaf058231e49ebe3afcb13982930942df369f", + "rust-std-1.99.1-powerpc-unknown-linux-gnu.tar.zst": "6c2dbbebcc282b3e432614d7bafa0314e5de859cbfc6bf2c963b4c7e68bb246d", + "rust-std-1.99.1-powerpc64-unknown-linux-gnu.tar.zst": "f36ef5666ee3f609434465b9e18026c3d256f89f22dbff79ae9904d62cfacd6e", + "rust-std-1.99.1-powerpc64le-unknown-linux-gnu.tar.zst": "0d8f24eb2acce53032acd89b569573695e68d0c4ad8c29d37e1e74f6cf48c426", + "rust-std-1.99.1-powerpc64le-unknown-linux-musl.tar.zst": "5a66f78ce3b7dff8816fa8878b15a8124dcff49ee91b666271bf45f75f0a8aae", + "rust-std-1.99.1-riscv32imac-unknown-none-elf.tar.zst": "ea905e9ceda67169163c7bb5a7facc8de124f3bd632e508ed3c5bf1f4fea215d", + "rust-std-1.99.1-riscv32imc-unknown-none-elf.tar.zst": "b497539c7844fbfa382329d5ef601d290fdad39db28e69ffc8c246fcabaa20ac", + "rust-std-1.99.1-riscv64gc-unknown-linux-gnu.tar.zst": "39e08f5961285e21eb5fecbb08712839568de2bc60bd316d43b8abd167b6e8d1", + "rust-std-1.99.1-riscv64gc-unknown-linux-musl.tar.zst": "91bc16ac8aa8dca0d31b265cc1a415c6466a23c2b64011ac6ff5a0373db15b54", + "rust-std-1.99.1-riscv64gc-unknown-none-elf.tar.zst": "9e867bda718775ef65463b50fe3b7087d5015b5c81723bb324340696fb57c85a", + "rust-std-1.99.1-s390x-unknown-linux-gnu.tar.zst": "9a65f0364576e6b6a2da4ab7837f21e74d6a9209ecef32985a43b65e211f85d0", + "rust-std-1.99.1-sparc64-unknown-linux-gnu.tar.zst": "2bb6b172f36c14a1d37ea25b1b68950801c68127f99a011112df3b6e8e51634c", + "rust-std-1.99.1-thumbv6m-none-eabi.tar.zst": "d28ceb80e620840fa57f3d8f41e9a56402ad52fa5434732c3acbd58904b5eca2", + "rust-std-1.99.1-thumbv7em-none-eabi.tar.zst": "3c32c69396fcbf36aff00896cc58b772cb2a77cfdea30b025e3b2a11c778b290", + "rust-std-1.99.1-thumbv7em-none-eabihf.tar.zst": "c78e9336ce33a7251e542b4e3ada30210717f2e18c907937b3ad1858dc1bb454", + "rust-std-1.99.1-thumbv7m-none-eabi.tar.zst": "157608e163e109a4f3bc4d9a8a2470816a1d33222efaf7418231ad9ac57d9868", + "rust-std-1.99.1-thumbv8m.main-none-eabi.tar.zst": "ba7931fbf6f121d28fb2a51561f357543bd684c87bbce5da3d0d2646b9b4107e", + "rust-std-1.99.1-thumbv8m.main-none-eabihf.tar.zst": "0092d540d6404a6756c9f8e97d4e5122eb47d2a0d8c8458a25f63c7d9ef35b7b", + "rust-std-1.99.1-wasm32-unknown-emscripten.tar.zst": "af6c15a43d405585393af572813b0e80a5e01ee605f5cd652766dd2337df1f30", + "rust-std-1.99.1-wasm32-unknown-unknown.tar.zst": "a6ef28878f6735c7475dbcb94e40d9a0528baabaecb2071455291427100aa933", + "rust-std-1.99.1-wasm32-wasip1-threads.tar.zst": "72ab85ed0544435d8a9778cfde04ce4e462edebcbb24863dc58c45f7b6e32293", + "rust-std-1.99.1-wasm32-wasip1.tar.zst": "4c56bc7287a631eb4b525174f2304ff3554b40ff119782a15ff486b058981c5b", + "rust-std-1.99.1-wasm32-wasip2.tar.zst": "b87d705aaf50f600a8ca1159de715fd512ee5d7dd6389347da95e11879c8a902", + "rust-std-1.99.1-x86_64-apple-darwin.tar.zst": "eb191aa683bed4b92e8e5adc2096d3fa3f37379ac6d1c364f3dab4062b553f53", + "rust-std-1.99.1-x86_64-apple-ios-macabi.tar.zst": "007354ed595c09c54b71a1ca6ba3693754e481d62b9e0f71d90fbbf7f76a2e33", + "rust-std-1.99.1-x86_64-apple-ios.tar.zst": "69a05f7e905ad547e28b13f5683d3fc978ba476836f2ca51af48694d45e62b2f", + "rust-std-1.99.1-x86_64-linux-android.tar.zst": "22a42cc6c16f29bd44b2f975dfd66604cd475c094c8cea1eec31581b473a80c3", + "rust-std-1.99.1-x86_64-pc-windows-gnu.tar.zst": "bc6f9809863a374883dc5e66be3db2a9bd7f542bce352890549522a4903686c8", + "rust-std-1.99.1-x86_64-pc-windows-gnullvm.tar.zst": "1d9f4a27b17a0265a741c3070f303713fc8c819dfff9a89b4b3a835a36ca45d6", + "rust-std-1.99.1-x86_64-pc-windows-msvc.tar.zst": "8f5df337576e6f70bcee0d1c0bdc7c220b77941c5af77853f943900d82a65969", + "rust-std-1.99.1-x86_64-unknown-freebsd.tar.zst": "463139c89deafd2adf109eac3c4475b45e21738f8c71724fc37197b1412bc58c", + "rust-std-1.99.1-x86_64-unknown-fuchsia.tar.zst": "b675736a821472de6f38eb2ab088af58b364d1bef6313cdc3d5ac433c9ea8d05", + "rust-std-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "adc8a04f442fa4f3f0e65fe1d2e47b7bed01bc89aad483a1fb7bdf2010067438", + "rust-std-1.99.1-x86_64-unknown-linux-musl.tar.zst": "adae09e66335fcd74037c1beea0908b0e44803ca94c622bfc9e7414099c45e1e", + "rust-std-1.99.1-x86_64-unknown-netbsd.tar.zst": "41a21f111c66ae80e5fa4fc453c61c74e16de826006156c1175a6c0996d130de", + "rust-std-1.99.1-x86_64-unknown-none.tar.zst": "84df751cecaf48f8659367df04aca16279c0a1bfdc70eb80ef79dfc1d7cfc620", + "rust-std-1.99.1-x86_64-unknown-uefi.tar.zst": "5c14fb2d07ed2673b745cef72da234c75808169d417183e13fb8cf57ad3909f7", + "rustc-1.99.1-aarch64-apple-darwin.tar.zst": "b155c922d82aca2f0eec7a621b29b7d5fedeb73982b47412cba9a00327c85e21", + "rustc-1.99.1-aarch64-pc-windows-msvc.tar.zst": "8b94a331f29ae9e935b4834c049b78de2d383a114029f0f3cacc8bb0da1f11e5", + "rustc-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "110a1fba2f5ddcfa3e01a96d88fb5098dec1d7eec96a087c8a9088375de02ed8", + "rustc-1.99.1-src.tar.zst": "ffd4bb2d950e88ecb0ae36f6d10df2cb9b23dd5f9e87ab76af9215d847a82978", + "rustc-1.99.1-x86_64-apple-darwin.tar.zst": "80b990d8fdcd436e2b6162cccf155874145dbff0c41ff77870e480e75b0983c9", + "rustc-1.99.1-x86_64-pc-windows-msvc.tar.zst": "bcc7660573e2e12c34b5f1c6f20d7c239ac148bf4e430b59e8e7a761e8bb4080", + "rustc-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "193955dbf8a2c7ca6fe06137b0e23644e6f1e05521a6255245c6f7566c4650fb", + "rustfmt-1.99.1-aarch64-apple-darwin.tar.zst": "b833d78a13ae0dd329336f07698e2df8c116bf14d797509e747b6583a7e10161", + "rustfmt-1.99.1-aarch64-pc-windows-msvc.tar.zst": "d5034dcb9d4a182516d242778b4a2503ee8ca5929ca6fd6eebf559d2868a5bab", + "rustfmt-1.99.1-aarch64-unknown-linux-gnu.tar.zst": "37236caceccf8587b49e3efab4f1487f65dc5b8caa544160ae6abb2070a3abb1", + "rustfmt-1.99.1-x86_64-apple-darwin.tar.zst": "25b88663ef81fa1995af29bbc47de6305888fb0bb73dc59be84fb691b37db3b6", + "rustfmt-1.99.1-x86_64-pc-windows-msvc.tar.zst": "a34cc879b4939f7e84c16c5fe4455f1d350180690a213121b6d918a340cf06ca", + "rustfmt-1.99.1-x86_64-unknown-linux-gnu.tar.zst": "d7d99544b898a2d94f3891b4624f3059387c1a15597a3dfdd27ca4d0d2a1b845" }, "@@windows_support+//windows:extensions.bzl%msvc_runtime": { "visual_studio_installer_manifest_v1": { diff --git a/codex-rs/agent-identity/src/lib.rs b/codex-rs/agent-identity/src/lib.rs index 8323e1d9e7..a580f13d21 100644 --- a/codex-rs/agent-identity/src/lib.rs +++ b/codex-rs/agent-identity/src/lib.rs @@ -565,7 +565,6 @@ fn signing_key_from_private_key_pkcs8_base64(private_key_pkcs8_base64: &str) -> #[cfg(test)] mod tests { - use base64::Engine as _; use ed25519_dalek::Signature; use ed25519_dalek::Verifier as _; use jsonwebtoken::EncodingKey; diff --git a/codex-rs/app-server/src/message_processor.rs b/codex-rs/app-server/src/message_processor.rs index 4bf10fc6cc..33cf7b80c3 100644 --- a/codex-rs/app-server/src/message_processor.rs +++ b/codex-rs/app-server/src/message_processor.rs @@ -1289,7 +1289,7 @@ impl MessageProcessor { .clients_revoke(params) .await .map(|response| Some(response.into())), - ClientRequest::ConfigRequirementsRead { params: _, .. } => self + ClientRequest::ConfigRequirementsRead { .. } => self .config_processor .config_requirements_read() .await @@ -1358,7 +1358,7 @@ impl MessageProcessor { .model_provider_config_write(params) .await .map(|r| Some(r.into())), - ClientRequest::ModelProviderCapabilitiesRead { params: _, .. } => self + ClientRequest::ModelProviderCapabilitiesRead { .. } => self .config_processor .model_provider_capabilities_read() .await @@ -1820,7 +1820,7 @@ impl MessageProcessor { ClientRequest::ThreadTimelineList { params, .. } => { self.thread_processor.thread_timeline_list(params).await } - ClientRequest::ThreadRealtimeListVoices { params: _, .. } => { + ClientRequest::ThreadRealtimeListVoices { .. } => { self.turn_processor.thread_realtime_list_voices().await } ClientRequest::ReviewStart { params, .. } => { diff --git a/codex-rs/code-mode-protocol/src/grpc/mod.rs b/codex-rs/code-mode-protocol/src/grpc/mod.rs index f575cab9d6..111049bacd 100644 --- a/codex-rs/code-mode-protocol/src/grpc/mod.rs +++ b/codex-rs/code-mode-protocol/src/grpc/mod.rs @@ -1,3 +1,5 @@ +#![allow(clippy::double_must_use)] // Emitted by async_trait in the generated tonic service. + #[cfg(codex_bazel)] pub use code_mode_proto::codex::code_mode::v1::*; diff --git a/codex-rs/code-mode-runtime/src/session_runtime/mod.rs b/codex-rs/code-mode-runtime/src/session_runtime/mod.rs index 06224d5a72..f8da480dbf 100644 --- a/codex-rs/code-mode-runtime/src/session_runtime/mod.rs +++ b/codex-rs/code-mode-runtime/src/session_runtime/mod.rs @@ -153,7 +153,7 @@ impl SessionRuntime { fn allocate_cell_id(&self) -> Result { self.inner .next_cell_id - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |next_cell_id| { + .try_update(Ordering::Relaxed, Ordering::Relaxed, |next_cell_id| { next_cell_id.checked_add(1) }) .map(|cell_id| CellId::new(cell_id.to_string())) diff --git a/codex-rs/codex-mcp/src/connection_manager/startup.rs b/codex-rs/codex-mcp/src/connection_manager/startup.rs index 0f019d2760..71a8f4d979 100644 --- a/codex-rs/codex-mcp/src/connection_manager/startup.rs +++ b/codex-rs/codex-mcp/src/connection_manager/startup.rs @@ -42,13 +42,14 @@ pub(super) async fn emit_update( submit_id: &str, tx_event: &Sender, update: McpStartupUpdateEvent, -) -> Result<(), async_channel::SendError> { +) -> Result<(), Box>> { tx_event .send(Event { id: submit_id.to_string(), msg: EventMsg::McpStartupUpdate(update), }) .await + .map_err(Box::new) } pub(super) fn mcp_startup_failure_reason( diff --git a/codex-rs/config/src/thread_config/remote.rs b/codex-rs/config/src/thread_config/remote.rs index fd616daa27..d207231a87 100644 --- a/codex-rs/config/src/thread_config/remote.rs +++ b/codex-rs/config/src/thread_config/remote.rs @@ -20,6 +20,7 @@ use super::ThreadConfigSource; use super::UserThreadConfig; use proto::thread_config_loader_client::ThreadConfigLoaderClient; +#[allow(clippy::double_must_use)] // Emitted by async_trait in the generated tonic service. #[path = "proto/codex.thread_config.v1.rs"] mod proto; diff --git a/codex-rs/core/src/exec_policy.rs b/codex-rs/core/src/exec_policy.rs index fce3479f90..bb1976f123 100644 --- a/codex-rs/core/src/exec_policy.rs +++ b/codex-rs/core/src/exec_policy.rs @@ -276,10 +276,13 @@ pub enum ExecPolicyUpdateError { JoinBlockingTask { source: tokio::task::JoinError }, #[error("failed to update in-memory rules: {source}")] - AddRule { - #[from] - source: ExecPolicyRuleError, - }, + AddRule { source: ExecPolicyRuleError }, +} + +impl From for ExecPolicyUpdateError { + fn from(source: ExecPolicyRuleError) -> Self { + Self::AddRule { source } + } } pub(crate) struct ExecPolicyManager { diff --git a/codex-rs/core/src/realtime_conversation.rs b/codex-rs/core/src/realtime_conversation.rs index 91958831d0..4b258419e7 100644 --- a/codex-rs/core/src/realtime_conversation.rs +++ b/codex-rs/core/src/realtime_conversation.rs @@ -367,14 +367,14 @@ impl RealtimeStreamedItem { if self.buffered_text.is_empty() { return None; } - let text = self.buffered_text.drain(..).collect::(); + let text = std::mem::take(&mut self.buffered_text); let text = format!("{prefix}{text}"); self.sent_bytes += text.len(); return Some(text); } - let head = self.buffered_text.drain(..).collect::(); - let tail = self.tail_text.drain(..).collect::(); + let head = std::mem::take(&mut self.buffered_text); + let tail = std::mem::take(&mut self.tail_text); let text = format!("{prefix}{head}{HANDOFF_STREAM_TRUNCATION_MARKER}{tail}"); self.sent_bytes += text.len(); Some(text) diff --git a/codex-rs/core/src/tools/executed_tool_calls.rs b/codex-rs/core/src/tools/executed_tool_calls.rs index d021a52993..d5bc89f5b1 100644 --- a/codex-rs/core/src/tools/executed_tool_calls.rs +++ b/codex-rs/core/src/tools/executed_tool_calls.rs @@ -398,7 +398,7 @@ impl ExecutedToolCalls { fn reserve_direct_call(&self) -> Option { let recording = Arc::downgrade(&self.lock_state().as_ref()?.recording); self.pending_direct_calls - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |pending| { + .try_update(Ordering::Relaxed, Ordering::Relaxed, |pending| { (pending < MAX_PENDING_EXECUTED_TOOL_CALLS).then_some(pending + 1) }) .ok()?; diff --git a/codex-rs/core/tests/common/apps_test_server.rs b/codex-rs/core/tests/common/apps_test_server.rs index 3d090cbdea..b51231602a 100644 --- a/codex-rs/core/tests/common/apps_test_server.rs +++ b/codex-rs/core/tests/common/apps_test_server.rs @@ -565,7 +565,7 @@ impl Respond for CodexAppsJsonRpcResponder { .as_ref() .is_some_and(|remaining| { remaining - .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |remaining| { + .try_update(Ordering::SeqCst, Ordering::SeqCst, |remaining| { remaining.checked_sub(1) }) .is_ok() diff --git a/codex-rs/core/tests/suite/scenarios.rs b/codex-rs/core/tests/suite/scenarios.rs index 171054ad85..945ae1f2e9 100644 --- a/codex-rs/core/tests/suite/scenarios.rs +++ b/codex-rs/core/tests/suite/scenarios.rs @@ -4008,7 +4008,8 @@ async fn astra_async_compaction_keeps_work_added_after_its_snapshot( ) .await?; assert_eq!(compaction_events.len(), if over_budget { 4 } else { 2 }); - for pair in compaction_events.chunks_exact(2) { + const EVENTS_PER_COMPACTION: usize = 2; + for pair in compaction_events.as_chunks::().0 { assert_eq!((pair[0].0, pair[1].0), ("started", "completed")); assert_eq!(pair[0].1, pair[1].1); } diff --git a/codex-rs/core/tests/suite/tools.rs b/codex-rs/core/tests/suite/tools.rs index b183492c15..a53266debe 100644 --- a/codex-rs/core/tests/suite/tools.rs +++ b/codex-rs/core/tests/suite/tools.rs @@ -688,7 +688,7 @@ async fn sandbox_denied_exec_command_returns_original_output() -> Result<()> { "printf {sentinel:?} >&2; printf {content:?} > {path:?}", sentinel = format!("{sentinel}\n"), content = "sandbox denied", - path = &target_path + path = target_path ); let args = json!({ "cmd": command, diff --git a/codex-rs/diagnostics/src/lib.rs b/codex-rs/diagnostics/src/lib.rs index a966e4aee5..91b878b390 100644 --- a/codex-rs/diagnostics/src/lib.rs +++ b/codex-rs/diagnostics/src/lib.rs @@ -32,7 +32,7 @@ impl Gauge { pub fn decrement(&self) { let _ = self .value - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| { + .try_update(Ordering::Relaxed, Ordering::Relaxed, |value| { Some(value.saturating_sub(1)) }); } diff --git a/codex-rs/exec-server-protocol/src/protocol.rs b/codex-rs/exec-server-protocol/src/protocol.rs index 5ff06e05f8..8d94c15955 100644 --- a/codex-rs/exec-server-protocol/src/protocol.rs +++ b/codex-rs/exec-server-protocol/src/protocol.rs @@ -273,7 +273,7 @@ impl EnvironmentInfo { if let Some(path) = std::env::var_os(name) .filter(|path| !path.is_empty()) .filter(|path| cfg!(unix) || std::path::Path::new(path).is_absolute()) - .and_then(&normalize_temp_path) + .and_then(normalize_temp_path) && !temporary_directories.contains(&path) { temporary_directories.push(path); diff --git a/codex-rs/exec/src/lib.rs b/codex-rs/exec/src/lib.rs index bb01fc3568..3479ea4bcd 100644 --- a/codex-rs/exec/src/lib.rs +++ b/codex-rs/exec/src/lib.rs @@ -2459,10 +2459,8 @@ fn decode_utf16( return Err(PromptDecodeError::InvalidUtf16 { encoding }); } - let units: Vec = input - .chunks_exact(2) - .map(|chunk| decode_unit([chunk[0], chunk[1]])) - .collect(); + let (units, _) = input.as_chunks(); + let units: Vec<_> = units.iter().copied().map(decode_unit).collect(); String::from_utf16(&units).map_err(|_| PromptDecodeError::InvalidUtf16 { encoding }) } diff --git a/codex-rs/ext/skills/src/provider/executor.rs b/codex-rs/ext/skills/src/provider/executor.rs index 01292d9cbb..1a2794ab77 100644 --- a/codex-rs/ext/skills/src/provider/executor.rs +++ b/codex-rs/ext/skills/src/provider/executor.rs @@ -302,10 +302,10 @@ async fn read_bounded_text( let mut stream = file_system .read_file_stream(path) .await - .map_err(&read_error)?; + .map_err(read_error)?; let mut contents = Vec::new(); while let Some(chunk) = stream.next().await { - let chunk = chunk.map_err(&read_error)?; + let chunk = chunk.map_err(read_error)?; if contents.len().saturating_add(chunk.len()) > MAX_SKILL_RESOURCE_CONTENT_BYTES { return Err(SkillProviderError::new(format!( "executor skill resource {resource} exceeds {MAX_SKILL_RESOURCE_CONTENT_BYTES} bytes" diff --git a/codex-rs/external-agent-migration/src/mcp.rs b/codex-rs/external-agent-migration/src/mcp.rs index eb820ce247..46889af75a 100644 --- a/codex-rs/external-agent-migration/src/mcp.rs +++ b/codex-rs/external-agent-migration/src/mcp.rs @@ -222,7 +222,8 @@ fn mcp_server_toml_table( if let Some(env) = server_config.get("env").and_then(JsonValue::as_object) { append_env_config(&mut table, env)?; } - } else if let Some(url) = server_config.get("url").and_then(json_string) { + } else { + let url = server_config.get("url").and_then(json_string)?; if !matches!( transport_type, None | Some("http") | Some("streamable_http") @@ -236,8 +237,6 @@ fn mcp_server_toml_table( if let Some(headers) = server_config.get("headers").and_then(JsonValue::as_object) { append_header_config(&mut table, headers)?; } - } else { - return None; } Some(table) diff --git a/codex-rs/rust-toolchain.toml b/codex-rs/rust-toolchain.toml index 910c65114e..d73899d67f 100644 --- a/codex-rs/rust-toolchain.toml +++ b/codex-rs/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.95.0" +channel = "1.99.1" components = ["clippy", "rustfmt", "rust-src"] diff --git a/codex-rs/sandboxing/src/seatbelt_tests.rs b/codex-rs/sandboxing/src/seatbelt_tests.rs index b8219878f9..cb58967dcf 100644 --- a/codex-rs/sandboxing/src/seatbelt_tests.rs +++ b/codex-rs/sandboxing/src/seatbelt_tests.rs @@ -2026,7 +2026,7 @@ fn create_seatbelt_args_with_read_only_git_and_codex_subpaths() { assert!( !output.status.success(), "command to write {} should fail under seatbelt", - &config_toml.display() + config_toml.display() ); assert_seatbelt_denied(&output.stderr, &config_toml); @@ -2070,7 +2070,7 @@ fn create_seatbelt_args_with_read_only_git_and_codex_subpaths() { assert!( !output.status.success(), "command to write {} should fail under seatbelt", - &pre_commit_hook.display() + pre_commit_hook.display() ); assert_seatbelt_denied(&output.stderr, &pre_commit_hook); @@ -2114,7 +2114,7 @@ fn create_seatbelt_args_with_read_only_git_and_codex_subpaths() { assert!( output.status.success(), "command to write {} should succeed under seatbelt", - &allowed_file.display() + allowed_file.display() ); assert_eq!( "this is allowed\n", diff --git a/codex-rs/scripts/setup-windows.ps1 b/codex-rs/scripts/setup-windows.ps1 index a8fe0c2f75..9567b2993d 100644 --- a/codex-rs/scripts/setup-windows.ps1 +++ b/codex-rs/scripts/setup-windows.ps1 @@ -179,7 +179,7 @@ if (-not (Ensure-Command 'cargo')) { Write-Host "==> Configuring Rust toolchain per rust-toolchain.toml" -ForegroundColor Cyan # Pin to the workspace toolchain and install components -$toolchain = '1.95.0' +$toolchain = '1.99.1' & rustup toolchain install $toolchain --profile minimal | Out-Host & rustup default $toolchain | Out-Host & rustup component add clippy rustfmt rust-src --toolchain $toolchain | Out-Host diff --git a/codex-rs/shell-command/src/bash.rs b/codex-rs/shell-command/src/bash.rs index ddd5807bfc..d092127c55 100644 --- a/codex-rs/shell-command/src/bash.rs +++ b/codex-rs/shell-command/src/bash.rs @@ -88,11 +88,8 @@ pub fn try_parse_word_only_commands_sequence(tree: &Tree, src: &str) -> Option().0 { assert_eq!(attempts[0]["dynamicTools"][0]["type"], "namespace"); assert_eq!(attempts[0]["historyMode"], "paginated"); assert_eq!(attempts[1]["dynamicTools"], serde_json::Value::Null); diff --git a/codex-rs/tui/src/bottom_pane/async_questions/layout.rs b/codex-rs/tui/src/bottom_pane/async_questions/layout.rs index 327d1e9954..ab5e17adad 100644 --- a/codex-rs/tui/src/bottom_pane/async_questions/layout.rs +++ b/codex-rs/tui/src/bottom_pane/async_questions/layout.rs @@ -52,7 +52,7 @@ impl AsyncQuestions { let mut spacer_after_input = 0; let progress_height; let footer_lines; - let notes_height; + let mut notes_height = 0; if has_options { let min_options_height = remaining.min(1); @@ -71,7 +71,6 @@ impl AsyncQuestions { spacer_after_question = u16::from(remaining > 0); remaining -= spacer_after_question; options_height += remaining.min(full_options_height.saturating_sub(options_height)); - notes_height = 0; } else { // Freeform answers take their preferred input height before hints and progress. let preferred_notes = self diff --git a/codex-rs/tui/src/bottom_pane/list_selection_view.rs b/codex-rs/tui/src/bottom_pane/list_selection_view.rs index 5b10995f14..b59beba74b 100644 --- a/codex-rs/tui/src/bottom_pane/list_selection_view.rs +++ b/codex-rs/tui/src/bottom_pane/list_selection_view.rs @@ -1119,7 +1119,7 @@ impl ListSelectionView { None } .or_else(|| self.footer_note.clone()); - let mut lines = note.map(&wrap).unwrap_or_default(); + let mut lines = note.map(wrap).unwrap_or_default(); if self.reserve_result_rows && show_selected_description { let height = self .items diff --git a/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__render__tests__request_user_input_halfwidth_sound_marks_truncation.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__render__tests__request_user_input_halfwidth_sound_marks_truncation.snap index 4dc0fc13b7..1efcc1a62e 100644 --- a/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__render__tests__request_user_input_halfwidth_sound_marks_truncation.snap +++ b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__render__tests__request_user_input_halfwidth_sound_marks_truncation.snap @@ -22,12 +22,12 @@ Buffer { [ Line::from_iter([ Span::from("ab").bold(), - Span::from("カ\u{ff9e}").cyan(), + Span::from("ガ").cyan(), Span::from("…").cyan(), ]), Line::from_iter([ Span::from("xy").bold(), - Span::from("ハ\u{ff9f}").magenta(), + Span::from("パ").magenta(), Span::from("…").magenta(), ]), ] diff --git a/codex-rs/tui/src/pager_overlay.rs b/codex-rs/tui/src/pager_overlay.rs index 6f0d2f4041..5491371388 100644 --- a/codex-rs/tui/src/pager_overlay.rs +++ b/codex-rs/tui/src/pager_overlay.rs @@ -149,8 +149,10 @@ fn render_navigation_hints(area: Rect, buf: &mut Buffer, keymap: &PagerKeymap) { ("jump_top", &keymap.jump_top), ("jump_bottom", &keymap.jump_bottom), ]; - let hints = actions - .chunks_exact(2) + const ACTIONS_PER_HINT: usize = 2; + let (action_groups, _) = actions.as_chunks::(); + let hints = action_groups + .iter() .zip(["to scroll", "to page", "to jump"]) .map(|(actions, description)| { ( diff --git a/codex-rs/tui/src/pets/sixel.rs b/codex-rs/tui/src/pets/sixel.rs index 624fd7bc16..f82998f49c 100644 --- a/codex-rs/tui/src/pets/sixel.rs +++ b/codex-rs/tui/src/pets/sixel.rs @@ -216,7 +216,8 @@ struct Palette { impl Palette { fn from_rgba(rgba: &[u8]) -> Self { let mut used = [false; PALETTE_COLOR_COUNT]; - for pixel in rgba.chunks_exact(4) { + const RGBA_CHANNELS: usize = 4; + for pixel in rgba.as_chunks::().0 { if pixel[3] < TRANSPARENT_ALPHA_THRESHOLD { continue; } diff --git a/codex-rs/utils/path-uri/src/api_path_string.rs b/codex-rs/utils/path-uri/src/api_path_string.rs index b2ecdf0aed..db4d8b664f 100644 --- a/codex-rs/utils/path-uri/src/api_path_string.rs +++ b/codex-rs/utils/path-uri/src/api_path_string.rs @@ -262,10 +262,8 @@ fn render_windows_opaque_fallback(path_bytes: &[u8]) -> Option { if !path_bytes.len().is_multiple_of(2) { return None; } - let path_wide = path_bytes - .chunks_exact(2) - .map(|bytes| u16::from_le_bytes([bytes[0], bytes[1]])) - .collect::>(); + let (units, _) = path_bytes.as_chunks(); + let path_wide: Vec<_> = units.iter().copied().map(u16::from_le_bytes).collect(); // Windows absolute paths either have a rooted drive prefix (`C:\\`) or a // rooted namespace/UNC prefix (`\\server`, `\\.\\`, or `\\?\\`). diff --git a/codex-rs/utils/path-uri/src/lib.rs b/codex-rs/utils/path-uri/src/lib.rs index 7a42363dd1..200d4822cf 100644 --- a/codex-rs/utils/path-uri/src/lib.rs +++ b/codex-rs/utils/path-uri/src/lib.rs @@ -586,10 +586,8 @@ impl PathUri { let decoded_path = { use std::os::windows::ffi::OsStringExt; path_bytes.len().is_multiple_of(2).then(|| { - let path_wide = path_bytes - .chunks_exact(2) - .map(|bytes| u16::from_le_bytes([bytes[0], bytes[1]])) - .collect::>(); + let (units, _) = path_bytes.as_chunks(); + let path_wide: Vec<_> = units.iter().copied().map(u16::from_le_bytes).collect(); std::path::PathBuf::from(std::ffi::OsString::from_wide(&path_wide)) }) }; @@ -818,9 +816,8 @@ fn infer_opaque_path_convention(path_bytes: &[u8]) -> Option { return None; } - let mut path_wide = path_bytes - .chunks_exact(2) - .map(|bytes| u16::from_le_bytes([bytes[0], bytes[1]])); + let (units, _) = path_bytes.as_chunks(); + let mut path_wide = units.iter().copied().map(u16::from_le_bytes); let first = path_wide.next()?; let second = path_wide.next()?; let has_drive = u8::try_from(first).is_ok_and(|drive| drive.is_ascii_alphabetic()) diff --git a/codex-rs/utils/stream-parser/src/inline_hidden_tag.rs b/codex-rs/utils/stream-parser/src/inline_hidden_tag.rs index 0e0d44b427..ccb08d8637 100644 --- a/codex-rs/utils/stream-parser/src/inline_hidden_tag.rs +++ b/codex-rs/utils/stream-parser/src/inline_hidden_tag.rs @@ -92,7 +92,7 @@ where .iter() .map(|spec| longest_suffix_prefix_len(pending, spec.open)) .max() - .map_or(0, std::convert::identity) + .unwrap_or(0) } fn push_visible_prefix(out: &mut StreamTextChunk>, pending: &str) { diff --git a/codex-rs/voice-host/src/input_channel_tests.rs b/codex-rs/voice-host/src/input_channel_tests.rs index e3c7807f63..9112332c73 100644 --- a/codex-rs/voice-host/src/input_channel_tests.rs +++ b/codex-rs/voice-host/src/input_channel_tests.rs @@ -16,12 +16,8 @@ fn microphone_selection_excludes_playback_channels() { plugged_in[3] = 0.7; let mut unplugged = plugged_in; unplugged[0] = 0.0; - let interleaved = [plugged_in, unplugged].concat(); - let captured: Vec<_> = interleaved - .chunks_exact(/*chunk_size*/ 16) - .map(|frame| source.sample(frame)) - .collect(); - assert_eq!(captured, vec![0.25, 0.0]); + let captured = [source.sample(&plugged_in), source.sample(&unplugged)]; + assert_eq!(captured, [0.25, 0.0]); } #[test] diff --git a/codex-rs/voice-host/src/playback.rs b/codex-rs/voice-host/src/playback.rs index 199abfa5a9..be796b97c0 100644 --- a/codex-rs/voice-host/src/playback.rs +++ b/codex-rs/voice-host/src/playback.rs @@ -67,8 +67,8 @@ impl PlaybackWriter { at: Instant::now(), generation: self.epoch, }; - for (sample, bytes) in frame.samples.iter_mut().zip(bytes.chunks_exact(4)) { - *sample = f32::from_le_bytes(bytes.try_into().map_err(|_| "invalid speaker buffer")?); + for (sample, bytes) in frame.samples.iter_mut().zip(bytes.as_chunks().0) { + *sample = f32::from_le_bytes(*bytes); if !sample.is_finite() { return Err("invalid speaker sample"); } diff --git a/codex-rs/websocket-auth/src/lib.rs b/codex-rs/websocket-auth/src/lib.rs index 5a062ffdcb..03cbfd61d7 100644 --- a/codex-rs/websocket-auth/src/lib.rs +++ b/codex-rs/websocket-auth/src/lib.rs @@ -444,7 +444,9 @@ fn sha256_digest_arg(flag_name: &str, value: &str) -> anyhow::Result<[u8; 32]> { } let mut digest = [0u8; 32]; - for (index, pair) in trimmed.as_bytes().chunks_exact(2).enumerate() { + const HEX_DIGITS_PER_BYTE: usize = 2; + let (pairs, _) = trimmed.as_bytes().as_chunks::(); + for (index, pair) in pairs.iter().enumerate() { let high = hex_nibble(flag_name, pair[0])?; let low = hex_nibble(flag_name, pair[1])?; digest[index] = (high << 4) | low;