diff --git a/.github/workflows/joule-code-conformance.yml b/.github/workflows/joule-code-conformance.yml index 5e53fe191..38d383401 100644 --- a/.github/workflows/joule-code-conformance.yml +++ b/.github/workflows/joule-code-conformance.yml @@ -81,13 +81,13 @@ jobs: # Bootstrap rustup: the docker runner image ships no Rust, and # dtolnay/rust-toolchain cannot help — it calls `rustup`, which is absent. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Cache cargo @@ -211,14 +211,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: joule-moq-relay, every target @@ -250,14 +250,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: joule-moq-ingest, every target diff --git a/.github/workflows/joule-moq-room.yml b/.github/workflows/joule-moq-room.yml index 4690484ec..c413d16f6 100644 --- a/.github/workflows/joule-moq-room.yml +++ b/.github/workflows/joule-moq-room.yml @@ -67,14 +67,14 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: joule-moq-room, every target diff --git a/.github/workflows/jouleclaw-public-surface-documented.yml b/.github/workflows/jouleclaw-public-surface-documented.yml index d419ec24a..b94d6b6dd 100644 --- a/.github/workflows/jouleclaw-public-surface-documented.yml +++ b/.github/workflows/jouleclaw-public-surface-documented.yml @@ -59,13 +59,13 @@ jobs: # Bootstrap rustup: the docker runner image ships no Rust, and # dtolnay/rust-toolchain cannot help — it calls `rustup`, which is absent. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Cache cargo registry + target diff --git a/.github/workflows/repo-checks.yml b/.github/workflows/repo-checks.yml index c1a71cd09..bed5b018a 100644 --- a/.github/workflows/repo-checks.yml +++ b/.github/workflows/repo-checks.yml @@ -36,14 +36,14 @@ jobs: python-version: '3.11' # check-lockfiles.sh runs `cargo` against every lockfile. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # ── Every Cargo.lock is current ────────────────────────────────────────── diff --git a/.github/workflows/wai-byte-equality.yml b/.github/workflows/wai-byte-equality.yml index 4b42ac20a..9e8ec6a20 100644 --- a/.github/workflows/wai-byte-equality.yml +++ b/.github/workflows/wai-byte-equality.yml @@ -175,22 +175,22 @@ jobs: # unix: bootstrap rustup (docker image ships no Rust; macOS host has it but # launchd's PATH omits ~/.cargo/bin). Windows is a host executor with rustup # already present, and must use pwsh — its `bash` is the WSL stub. - - name: Install Rust 1.98.0 (unix) + - name: Install Rust 1.99.1 (unix) if: matrix.os != 'windows' shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - - name: Install Rust 1.98.0 (Windows) + - name: Install Rust 1.99.1 (Windows) if: matrix.os == 'windows' shell: pwsh run: | - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 - name: Decode fixtures, assert golden bytes working-directory: wai/byte-exact-conformance diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index aa18b7300..fa413465a 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -248,26 +248,26 @@ jobs: # is bootstrapped; the macOS `host` runner has it but launchd's PATH omits # ~/.cargo/bin. dtolnay/rust-toolchain is unusable — it calls a `rustup` # the docker image lacks. - - name: Install Rust 1.98.0 (unix) + - name: Install Rust 1.99.1 (unix) if: matrix.os != 'windows' shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 - rustup component add --toolchain 1.98.0 clippy + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 + rustup component add --toolchain 1.99.1 clippy echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Windows: a host executor with rustup already installed. Only ensure the # pinned toolchain is present + default. pwsh, never bash (that is WSL here). - - name: Install Rust 1.98.0 (Windows) + - name: Install Rust 1.99.1 (Windows) if: matrix.os == 'windows' shell: pwsh run: | - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 - name: Build the cargo classes (pure Rust, no C codec chain) working-directory: wai/wai-rs @@ -441,7 +441,7 @@ jobs: done # The decode bench prints its machine line from bench_env; no other step builds it. cargo build --no-default-features --features neural_int,video_int,audio_int,world_int,splat_int --bin wai_decode_bench - rustup target add --toolchain 1.98.0 wasm32-unknown-unknown + rustup target add --toolchain 1.99.1 wasm32-unknown-unknown cargo check --lib --target wasm32-unknown-unknown --no-default-features --features video_int,audio_int,splat_int,staged,http # The staged-measurement core is wasm32-clean: a browser computes the same figures. # Built, not only checked, so codegen and linking of the library run for wasm32. @@ -548,7 +548,7 @@ jobs: working-directory: wai/wai-rs run: | set -euo pipefail - rustup target add --toolchain 1.98.0 wasm32-unknown-unknown + rustup target add --toolchain 1.99.1 wasm32-unknown-unknown cargo check --lib --target wasm32-unknown-unknown --no-default-features --features key_discovery,http # The corpus-verify loop is genuinely shell-specific (a helper that groups @@ -688,15 +688,15 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 with the wasm32-wasip2 target + - name: Install Rust 1.99.1 with the wasm32-wasip2 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 - rustup target add --toolchain 1.98.0 wasm32-wasip2 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 + rustup target add --toolchain 1.99.1 wasm32-wasip2 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # The release binary, pinned by version and SHA-256, rather than a build from source. @@ -863,14 +863,14 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - uses: actions/setup-python@v5 @@ -1718,22 +1718,22 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 (unix) + - name: Install Rust 1.99.1 (unix) if: matrix.os != 'windows' shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - - name: Install Rust 1.98.0 (Windows) + - name: Install Rust 1.99.1 (Windows) if: matrix.os == 'windows' shell: pwsh run: | - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 - name: Integer rANS + int_synth + JPEG-AI mANS goldens (one machine → every machine) working-directory: wai/byte-exact-conformance @@ -1755,12 +1755,12 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Every one of these test files is `#![cfg(feature = "codecs")]`: built without @@ -1836,14 +1836,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # `rust_native_crypto` rather than the SDK's default openssl backend, so this diff --git a/.github/workflows/wai-energy-receipts.yml b/.github/workflows/wai-energy-receipts.yml index 36130e7ae..4beba7ad7 100644 --- a/.github/workflows/wai-energy-receipts.yml +++ b/.github/workflows/wai-energy-receipts.yml @@ -145,14 +145,14 @@ jobs: # The docker runners (linux / linux-arm64) ship no Rust, so rustup is # bootstrapped; the macOS host runner has it but launchd's PATH omits # ~/.cargo/bin. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # One feature set that compiles the wai-rs receipts that carry an diff --git a/.github/workflows/wai-formal-verification.yml b/.github/workflows/wai-formal-verification.yml index 957e23457..27d53fc07 100644 --- a/.github/workflows/wai-formal-verification.yml +++ b/.github/workflows/wai-formal-verification.yml @@ -173,7 +173,7 @@ jobs: export PATH="$HOME/.cargo/bin:$PATH" if ! command -v rustup >/dev/null; then curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ - | sh -s -- -y --profile minimal --default-toolchain 1.98.0 + | sh -s -- -y --profile minimal --default-toolchain 1.99.1 fi echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" diff --git a/.github/workflows/wai-http.yml b/.github/workflows/wai-http.yml index fdaff68d9..ca3e472e1 100644 --- a/.github/workflows/wai-http.yml +++ b/.github/workflows/wai-http.yml @@ -156,15 +156,15 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 if: startsWith(matrix.shard, 'patches') shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - uses: actions/setup-python@v5 @@ -212,14 +212,14 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - uses: actions/setup-python@v5 @@ -250,14 +250,14 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - uses: actions/setup-python@v5 diff --git a/.github/workflows/wai-jpegai-e2e.yml b/.github/workflows/wai-jpegai-e2e.yml index e5aa29a23..0cf4c679f 100644 --- a/.github/workflows/wai-jpegai-e2e.yml +++ b/.github/workflows/wai-jpegai-e2e.yml @@ -172,14 +172,14 @@ jobs: steps: - uses: actions/checkout@v5 # Bootstrap rustup: the docker runner image ships no Rust. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Fetch the JPEG-AI inputs and check each against the pinned manifest shell: bash diff --git a/.github/workflows/wai-neural-e2e.yml b/.github/workflows/wai-neural-e2e.yml index 90df5ed2a..9da3c73ef 100644 --- a/.github/workflows/wai-neural-e2e.yml +++ b/.github/workflows/wai-neural-e2e.yml @@ -102,13 +102,13 @@ jobs: working-directory: wai run: python tools/wai_validate_synthetic.py --size 256 # Bootstrap rustup: the docker runner image ships no Rust. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Each Rust decoder reproduces its reference end-to-end working-directory: wai/wai-rs diff --git a/.github/workflows/wai-neural-gates.yml b/.github/workflows/wai-neural-gates.yml index 2a2e9e343..9196d100d 100644 --- a/.github/workflows/wai-neural-gates.yml +++ b/.github/workflows/wai-neural-gates.yml @@ -130,13 +130,13 @@ jobs: steps: - uses: actions/checkout@v5 # Bootstrap rustup: the docker runner image ships no Rust. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Prior-hash refusal, the strict replicate gate, and the int_mlicpp dispatch working-directory: wai/wai-rs diff --git a/.github/workflows/wai-ops-differential.yml b/.github/workflows/wai-ops-differential.yml index be49d420b..b1ee9755f 100644 --- a/.github/workflows/wai-ops-differential.yml +++ b/.github/workflows/wai-ops-differential.yml @@ -49,14 +49,14 @@ jobs: - uses: actions/checkout@v4 # The docker image ships no Rust. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Through the operator set against the direct decode, random sets and payloads diff --git a/.github/workflows/wai-ops-gpu.yml b/.github/workflows/wai-ops-gpu.yml index dfea03d12..a096817e0 100644 --- a/.github/workflows/wai-ops-gpu.yml +++ b/.github/workflows/wai-ops-gpu.yml @@ -91,15 +91,15 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 with the wasm32-unknown-unknown target + - name: Install Rust 1.99.1 with the wasm32-unknown-unknown target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 - rustup target add --toolchain 1.98.0 wasm32-unknown-unknown + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 + rustup target add --toolchain 1.99.1 wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # This container offers no adapter. The device tests must say so and pass; under # WAI_OPS_GPU_REQUIRE=1 the same tests must fail. Were an adapter ever offered diff --git a/.github/workflows/wai-ops.yml b/.github/workflows/wai-ops.yml index 233414008..8b700c528 100644 --- a/.github/workflows/wai-ops.yml +++ b/.github/workflows/wai-ops.yml @@ -116,14 +116,14 @@ jobs: # The docker images ship no Rust; the macOS host has it, but launchd's PATH omits # ~/.cargo/bin. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Unit, goldens, step-8, verdict and doc tests, debug @@ -196,14 +196,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 with the wasm32-wasip2 target + - name: Install Rust 1.99.1 with the wasm32-wasip2 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-wasip2 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" @@ -250,14 +250,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 with the wasm32 target + - name: Install Rust 1.99.1 with the wasm32 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" diff --git a/.github/workflows/wai-pack.yml b/.github/workflows/wai-pack.yml index d1eca1656..b24422528 100644 --- a/.github/workflows/wai-pack.yml +++ b/.github/workflows/wai-pack.yml @@ -91,15 +91,15 @@ jobs: # The docker runners ship no Rust, so rustup is bootstrapped; the macOS host has # it, but launchd's PATH omits ~/.cargo/bin. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 - rustup component add --toolchain 1.98.0 clippy + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 + rustup component add --toolchain 1.99.1 clippy echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # clippy::float_arithmetic is denied for the library and the CLI (Cargo.toml and @@ -163,14 +163,14 @@ jobs: working-directory: wai shell: bash run: python3 pack-conformance/pack_verify.py pack-conformance - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # The source readers differentially: seeded Y4M and WAV mutations, every verdict of # wai-pack (debug and release, both with overflow checks) equal to pack_verify.py's, @@ -262,14 +262,14 @@ jobs: runs-on: linux-arm64 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Install cargo-deny shell: bash diff --git a/.github/workflows/wai-quantum-cli-release.yml b/.github/workflows/wai-quantum-cli-release.yml index 439a12cab..8c946bfdd 100644 --- a/.github/workflows/wai-quantum-cli-release.yml +++ b/.github/workflows/wai-quantum-cli-release.yml @@ -100,14 +100,14 @@ jobs: triple: aarch64-unknown-linux-musl steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0, the musl target and musl-gcc + - name: Install Rust 1.99.1, the musl target and musl-gcc shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add "${{ matrix.triple }}" SUDO=""; [ "$(id -u)" -ne 0 ] && SUDO="sudo" $SUDO apt-get update -qq diff --git a/.github/workflows/wai-quantum-cli.yml b/.github/workflows/wai-quantum-cli.yml index 3d1f43079..043421ec8 100644 --- a/.github/workflows/wai-quantum-cli.yml +++ b/.github/workflows/wai-quantum-cli.yml @@ -52,15 +52,15 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 with clippy and the wasm32-wasip2 target + - name: Install Rust 1.99.1 with clippy and the wasm32-wasip2 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal --component clippy - rustup default 1.98.0 - rustup target add --toolchain 1.98.0 wasm32-wasip2 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal --component clippy + rustup default 1.99.1 + rustup target add --toolchain 1.99.1 wasm32-wasip2 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Tests and clippy, with and without submit shell: bash diff --git a/.github/workflows/wai-quantum-cuda.yml b/.github/workflows/wai-quantum-cuda.yml index f45a03cbb..1f4d9bb04 100644 --- a/.github/workflows/wai-quantum-cuda.yml +++ b/.github/workflows/wai-quantum-cuda.yml @@ -144,14 +144,14 @@ jobs: WAI_QUANTUM_CUDA_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No CUDA here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-fpga.yml b/.github/workflows/wai-quantum-fpga.yml index 659d8a8c3..30e3aaab8 100644 --- a/.github/workflows/wai-quantum-fpga.yml +++ b/.github/workflows/wai-quantum-fpga.yml @@ -111,14 +111,14 @@ jobs: WAI_QUANTUM_FPGA_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No simulator here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-hip.yml b/.github/workflows/wai-quantum-hip.yml index 74f6eecc7..e625e9125 100644 --- a/.github/workflows/wai-quantum-hip.yml +++ b/.github/workflows/wai-quantum-hip.yml @@ -146,14 +146,14 @@ jobs: WAI_QUANTUM_HIP_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No HIP here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-metal.yml b/.github/workflows/wai-quantum-metal.yml index ab5ddfc2b..318d3faa0 100644 --- a/.github/workflows/wai-quantum-metal.yml +++ b/.github/workflows/wai-quantum-metal.yml @@ -128,14 +128,14 @@ jobs: WAI_QUANTUM_METAL_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No Metal here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-npu-cores.yml b/.github/workflows/wai-quantum-npu-cores.yml index 99842bbde..6624c28d4 100644 --- a/.github/workflows/wai-quantum-npu-cores.yml +++ b/.github/workflows/wai-quantum-npu-cores.yml @@ -134,14 +134,14 @@ jobs: WAI_QUANTUM_NPU_CORES_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No neural processor here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-npu.yml b/.github/workflows/wai-quantum-npu.yml index 21f8d8e76..00dd17056 100644 --- a/.github/workflows/wai-quantum-npu.yml +++ b/.github/workflows/wai-quantum-npu.yml @@ -99,14 +99,14 @@ jobs: WAI_QUANTUM_NPU_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No neural processor here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-opencl.yml b/.github/workflows/wai-quantum-opencl.yml index 890f66452..b5cb7c9d1 100644 --- a/.github/workflows/wai-quantum-opencl.yml +++ b/.github/workflows/wai-quantum-opencl.yml @@ -258,14 +258,14 @@ jobs: WAI_QUANTUM_OPENCL_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No OpenCL here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-qpu.yml b/.github/workflows/wai-quantum-qpu.yml index 43875a6b6..238cb082a 100644 --- a/.github/workflows/wai-quantum-qpu.yml +++ b/.github/workflows/wai-quantum-qpu.yml @@ -53,14 +53,14 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal --component clippy - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal --component clippy + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Tests shell: bash diff --git a/.github/workflows/wai-quantum-service.yml b/.github/workflows/wai-quantum-service.yml index 3aaa942c6..d5a9e5ad2 100644 --- a/.github/workflows/wai-quantum-service.yml +++ b/.github/workflows/wai-quantum-service.yml @@ -51,14 +51,14 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal --component clippy - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal --component clippy + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Tests and clippy shell: bash diff --git a/.github/workflows/wai-quantum-studio.yml b/.github/workflows/wai-quantum-studio.yml index 3b801bf68..70d296175 100644 --- a/.github/workflows/wai-quantum-studio.yml +++ b/.github/workflows/wai-quantum-studio.yml @@ -65,14 +65,14 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 with the wasm32 target + - name: Install Rust 1.99.1 with the wasm32 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Pinned to the wasm-bindgen version in wai-web/Cargo.lock. diff --git a/.github/workflows/wai-quantum-tensor-engine.yml b/.github/workflows/wai-quantum-tensor-engine.yml index 9cc9d22fe..015aaf1f8 100644 --- a/.github/workflows/wai-quantum-tensor-engine.yml +++ b/.github/workflows/wai-quantum-tensor-engine.yml @@ -132,14 +132,14 @@ jobs: WAI_QUANTUM_TENSOR_ENGINE_EXPECT: none steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: No kernel toolchain here, and the member says so shell: bash diff --git a/.github/workflows/wai-quantum-webgpu.yml b/.github/workflows/wai-quantum-webgpu.yml index b28391928..5aacc3d6e 100644 --- a/.github/workflows/wai-quantum-webgpu.yml +++ b/.github/workflows/wai-quantum-webgpu.yml @@ -97,16 +97,16 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 (wasm32 targets) and 1.97.0 + - name: Install Rust 1.99.1 (wasm32 targets) and 1.97.0 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal rustup toolchain install 1.97.0 --profile minimal - rustup default 1.98.0 - rustup target add --toolchain 1.98.0 wasm32-unknown-unknown wasm32-wasip2 + rustup default 1.99.1 + rustup target add --toolchain 1.99.1 wasm32-unknown-unknown wasm32-wasip2 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: SPIR-V validator shell: bash @@ -176,14 +176,14 @@ jobs: WAI_QUANTUM_WEBGPU_EXPECT: swgpu-vulkan-10005 steps: - uses: actions/checkout@v5 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: The Vulkan loader and a software Vulkan driver shell: bash diff --git a/.github/workflows/wai-sota-vectors.yml b/.github/workflows/wai-sota-vectors.yml index 331fcf66c..6b3a0832b 100644 --- a/.github/workflows/wai-sota-vectors.yml +++ b/.github/workflows/wai-sota-vectors.yml @@ -224,14 +224,14 @@ jobs: torchvision.ops.nms(torch.zeros(1, 4), torch.zeros(1), 0.5) PY # Bootstrap rustup: the docker runner image ships no Rust. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" - name: Regenerate the int_hyper vectors (source photo → integer export → keyframe → clip) shell: bash diff --git a/.github/workflows/wai-vector.yml b/.github/workflows/wai-vector.yml index 1db17d08f..eb7cad123 100644 --- a/.github/workflows/wai-vector.yml +++ b/.github/workflows/wai-vector.yml @@ -124,14 +124,14 @@ jobs: # The docker images ship no Rust; the macOS host has it, but launchd's PATH omits # ~/.cargo/bin. - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Debug builds check every arithmetic operation for overflow, so a bound the @@ -167,14 +167,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 with the wasm32-wasip2 target + - name: Install Rust 1.99.1 with the wasm32-wasip2 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-wasip2 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" @@ -221,14 +221,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 with the wasm32 target + - name: Install Rust 1.99.1 with the wasm32 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" @@ -267,14 +267,14 @@ jobs: # The image ships no Rust. wasm32v1-none is the package's target: its # precompiled core and alloc are WebAssembly 1.0, which those of # wasm32-unknown-unknown are not (wasm/build-pkg.sh says why that decides it). - - name: Install Rust 1.98.0 with the wasm32v1-none and wasm32-unknown-unknown targets + - name: Install Rust 1.99.1 with the wasm32v1-none and wasm32-unknown-unknown targets shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32v1-none wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" @@ -338,14 +338,14 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Rust 1.98.0 + - name: Install Rust 1.99.1 shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Every corpus vector and every file under fuzz/seeds/ as a seed, 2,000 diff --git a/.github/workflows/wai-web-reach.yml b/.github/workflows/wai-web-reach.yml index ef3e9360e..0b465c6a9 100644 --- a/.github/workflows/wai-web-reach.yml +++ b/.github/workflows/wai-web-reach.yml @@ -114,16 +114,16 @@ jobs: steps: - uses: actions/checkout@v5 # The docker runner image ships no Rust. - - name: Install Rust 1.98.0 with the wasm32 target + - name: Install Rust 1.99.1 with the wasm32 target if: matrix.leg == 'tree' shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 - rustup target add wasm32-unknown-unknown --toolchain 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 + rustup target add wasm32-unknown-unknown --toolchain 1.99.1 echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Pinned to the wasm-bindgen version in wai-web/Cargo.lock: the CLI and the crate # must match exactly. diff --git a/.github/workflows/wai-web-wasm.yml b/.github/workflows/wai-web-wasm.yml index 44e58e8f2..a4041f73c 100644 --- a/.github/workflows/wai-web-wasm.yml +++ b/.github/workflows/wai-web-wasm.yml @@ -109,14 +109,14 @@ jobs: steps: - uses: actions/checkout@v5 # The docker runner image ships no Rust. - - name: Install Rust 1.98.0 with the wasm32 target + - name: Install Rust 1.99.1 with the wasm32 target shell: bash run: | export PATH="$HOME/.cargo/bin:$PATH" command -v rustup >/dev/null 2>&1 || \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.98.0 - rustup toolchain install 1.98.0 --profile minimal - rustup default 1.98.0 + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain 1.99.1 + rustup toolchain install 1.99.1 --profile minimal + rustup default 1.99.1 rustup target add wasm32-unknown-unknown echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" # Pinned to the wasm-bindgen version in wai-web/Cargo.lock: the CLI and the diff --git a/aac/aac-rs/crates/aac-core/src/analytics.rs b/aac/aac-rs/crates/aac-core/src/analytics.rs index 7cd4fcfd7..6619dfbed 100644 --- a/aac/aac-rs/crates/aac-core/src/analytics.rs +++ b/aac/aac-rs/crates/aac-core/src/analytics.rs @@ -277,6 +277,6 @@ mod tests { assert!(coverage.core_words_used >= 3); assert!(coverage.coverage_percent > 0.0); - assert!(!coverage.unused_words.is_empty()); + assert_ne!(coverage.unused_words, [] as [String; 0]); } } diff --git a/aac/aac-rs/crates/aac-core/src/finder.rs b/aac/aac-rs/crates/aac-core/src/finder.rs index aa704ee94..efbd25934 100644 --- a/aac/aac-rs/crates/aac-core/src/finder.rs +++ b/aac/aac-rs/crates/aac-core/src/finder.rs @@ -1333,7 +1333,10 @@ mod tests { assert_eq!(second.len(), 3); assert_eq!(second.presses.iter().map(|p| p.board).collect::>(), [w.home.id, w.needs.id, w.drinks.id]); // A word on no board is not found; one no press leads to has no way. - assert!(f.find("zorp", &[w.home.id], Reach::default()).is_empty()); + assert_eq!( + f.find("zorp", &[w.home.id], Reach::default()), + [] as [Found; 0] + ); let lonely = f.find("lonely", &[w.home.id], Reach::default()); assert_eq!(lonely.len(), 1); assert_eq!(lonely[0].way, None); @@ -1427,7 +1430,7 @@ mod tests { assert_eq!(got("wat"), [("I want water".into(), Match::Start)]); assert_eq!(got("ate"), [("I want water".into(), Match::Inside)]); // One letter is never found inside a word. - assert!(got("t").is_empty()); + assert_eq!(got("t"), [] as [(String, Match); 0]); } #[test] @@ -1459,7 +1462,7 @@ mod tests { } // A Hangul syllable is its jamo, so one still being typed is found. assert!(search_key("물").starts_with(&search_key("무"))); - assert!(!search_key("물").is_empty()); + assert_ne!(search_key("물"), ""); // Chinese is as written. assert_ne!(search_key("说"), search_key("說")); } diff --git a/aac/aac-rs/crates/aac-core/src/ja_inflect.rs b/aac/aac-rs/crates/aac-core/src/ja_inflect.rs index 022fd257c..cbd4fd233 100644 --- a/aac/aac-rs/crates/aac-core/src/ja_inflect.rs +++ b/aac/aac-rs/crates/aac-core/src/ja_inflect.rs @@ -546,6 +546,6 @@ mod tests { } // Never the word itself, and never a bare stem as a verb. assert!(!dictionary_forms("たべる", kinds).contains(&"たべる".to_string())); - assert!(dictionary_forms("いき", kinds).is_empty()); + assert_eq!(dictionary_forms("いき", kinds), [] as [String; 0]); } } diff --git a/aac/aac-rs/crates/aac-core/src/keyboard/by_ear.rs b/aac/aac-rs/crates/aac-core/src/keyboard/by_ear.rs index 98b3e6819..defbc2023 100644 --- a/aac/aac-rs/crates/aac-core/src/keyboard/by_ear.rs +++ b/aac/aac-rs/crates/aac-core/src/keyboard/by_ear.rs @@ -388,7 +388,7 @@ mod tests { // Vietnamese: a vowel takes its five tones; a consonant none. assert_eq!(then_for("vi", "a").len(), 5); assert!(then_for("vi", "an").is_empty() || then_for("vi", "an").len() == 5); - assert!(then_for("en", "a").is_empty()); + assert_eq!(then_for("en", "a"), [] as [Item; 0]); // Kana: its small and voiced forms, then the katakana of each; // Ethiopic: the other orders. let form = |f: &str| Item::Form(f.into()); @@ -397,7 +397,7 @@ mod tests { // has a name. assert_eq!(then_for("sv", "e"), vec![form("é")]); assert_eq!(then_for("sv", "E"), vec![form("é")]); - assert!(then_for("sv", "a").is_empty()); + assert_eq!(then_for("sv", "a"), [] as [Item; 0]); assert!(letter_groups("fr", 5).last().unwrap().contains(&letter("'"))); assert!(!letter_groups("de", 5).last().unwrap().contains(&letter("'"))); assert_eq!(then_for("am", "ቀ").len(), 6 + 5); diff --git a/aac/aac-rs/crates/aac-core/src/keyboard/tests.rs b/aac/aac-rs/crates/aac-core/src/keyboard/tests.rs index 27d63e7d2..18e4e3e18 100644 --- a/aac/aac-rs/crates/aac-core/src/keyboard/tests.rs +++ b/aac/aac-rs/crates/aac-core/src/keyboard/tests.rs @@ -33,7 +33,7 @@ fn places_of(page: &Page, action: &KeyAction) -> Vec<(u16, u16)> { fn every_row_covers_the_whole_grid() { for kb in all() { for page in &kb.pages { - assert!(!page.rows.is_empty()); + assert_ne!(page.rows, [] as [Vec; 0]); for (r, row) in page.rows.iter().enumerate() { let covered: u16 = row.iter().map(|k| k.span).sum(); assert_eq!( diff --git a/aac/aac-rs/crates/aac-core/src/obf.rs b/aac/aac-rs/crates/aac-core/src/obf.rs index f110a092e..5f8592e1a 100644 --- a/aac/aac-rs/crates/aac-core/src/obf.rs +++ b/aac/aac-rs/crates/aac-core/src/obf.rs @@ -2451,7 +2451,7 @@ mod tests { let v = to_obf_with(&sample_board(), &ObfExportOptions { sprites: sprites(), ..ObfExportOptions::default() }); assert_eq!(v["license"]["type"], "private"); let images = v["images"].as_array().unwrap(); - assert!(!images.is_empty()); + assert_ne!(images.as_slice(), [] as [Value; 0]); for img in images { let set = img["symbol"]["set"].as_str().unwrap(); let info = set_info(SymbolSet::ALL.into_iter().find(|s| s.as_str() == set).unwrap()); @@ -2487,7 +2487,10 @@ mod tests { assert!(bare["images"].as_array().unwrap().iter().all(|img| img.get("data").is_none() && img["width"].is_u64())); // Words only: no pictures. let none = to_obf_with(&sample_board(), &ObfExportOptions { symbol_set: None, ..ObfExportOptions::default() }); - assert!(none["images"].as_array().unwrap().is_empty()); + assert_eq!( + none["images"].as_array().unwrap().as_slice(), + [] as [Value; 0] + ); } #[test] @@ -2762,7 +2765,10 @@ mod tests { // Without the bytes, a recording is left out rather than named // where no other app can find it; the button speaks its words. let bare = to_obf(&board); - assert!(bare["sounds"].as_array().unwrap().is_empty()); + assert_eq!( + bare["sounds"].as_array().unwrap().as_slice(), + [] as [Value; 0] + ); assert!(button(&bare, "love").get("sound_id").is_none()); assert!(button(&bare, "Rex").get("image_id").is_none()); } diff --git a/aac/aac-rs/crates/aac-core/src/prediction.rs b/aac/aac-rs/crates/aac-core/src/prediction.rs index e2b484e59..7bf8fcd8a 100644 --- a/aac/aac-rs/crates/aac-core/src/prediction.rs +++ b/aac/aac-rs/crates/aac-core/src/prediction.rs @@ -1384,7 +1384,7 @@ mod tests { let ctx = CommunicationContext::now(); let preds = engine.predict("hello", &ctx, 10); assert!(preds.is_empty()); - assert!(engine.predict_letters("hel", 5).is_empty()); + assert_eq!(engine.predict_letters("hel", 5), [] as [LetterCandidate; 0]); } #[test] @@ -1485,7 +1485,7 @@ mod tests { .unwrap(); let mut engine = PredictionEngine::new(); engine.set_language("gu", None).unwrap(); - assert!(engine.language_status().notes.is_empty()); + assert_eq!(engine.language_status().notes, [] as [String; 0]); assert_eq!(engine.language_status_in(&index).notes, vec!["no source covers it yet".to_string()]); assert_eq!(PredictionLanguageStatus::from_index(&index, "gu").notes, engine.language_status_in(&index).notes); } diff --git a/aac/aac-rs/crates/aac-core/src/print/tests.rs b/aac/aac-rs/crates/aac-core/src/print/tests.rs index 3ec6d3c6d..b5a66449e 100644 --- a/aac/aac-rs/crates/aac-core/src/print/tests.rs +++ b/aac/aac-rs/crates/aac-core/src/print/tests.rs @@ -195,7 +195,7 @@ fn hidden_and_blank_cells_print_as_empty_places() { only_cat.cells.retain(|c| c.id == hidden); map.insert(id, only_cat); let plan = plan(&map, Some(id), Some(&[id]), PrintKind::Boards, PrintSettings::default(), Some(SymbolSet::Mulberry), None).unwrap(); - assert!(plan.symbol_sets.is_empty()); + assert_eq!(plan.symbol_sets, [] as [SymbolSet; 0]); assert!(!plan.pages.contains(&PageKind::Credits)); } @@ -206,7 +206,7 @@ fn one_board_prints_on_one_page_with_its_credits_at_the_foot() { assert_eq!(plan.pages.len(), 1); assert!(matches!(&plan.pages[0], PageKind::Board { board, part: 1, parts: 1, .. } if *board == home)); assert!(plan.credits_at_foot); - assert!(!plan.symbol_sets.is_empty()); + assert_ne!(plan.symbol_sets, [] as [SymbolSet; 0]); // Feelings is not printed: its link has no page. assert_eq!(plan.page_of(feelings), None); assert_eq!(plan.go_to(&CellAction::Navigate(feelings)), None); diff --git a/aac/aac-rs/crates/aac-core/src/symbols/mod.rs b/aac/aac-rs/crates/aac-core/src/symbols/mod.rs index 734b90dd1..cfe187c50 100644 --- a/aac/aac-rs/crates/aac-core/src/symbols/mod.rs +++ b/aac/aac-rs/crates/aac-core/src/symbols/mod.rs @@ -591,7 +591,7 @@ mod tests { fn the_picker_finds_symbols_in_english_and_in_the_persons_language() { let dog = search_concepts("dog", "en-US", 10); assert_eq!(dog.first(), Some(&"dog"), "{dog:?}"); - assert!(search_concepts(" ", "en", 10).is_empty()); + assert_eq!(search_concepts(" ", "en", 10), [] as [&str; 0]); assert!(search_concepts("d", "en", 5).len() <= 5); assert!(search_concepts("e", "en", 1000).iter().all(|k| !k.contains(':')), "no actions or arrows"); // Spanish: "perro" finds the dog. @@ -687,7 +687,7 @@ mod tests { #[test] #[cfg(not(feature = "nc-symbols"))] fn a_build_without_the_optional_sets_knows_none() { - assert!(SymbolSet::NONCOMMERCIAL.is_empty()); + assert_eq!(SymbolSet::NONCOMMERCIAL.as_slice(), []); assert_eq!(SymbolSet::EVERY, SymbolSet::ALL); assert!(concepts().all(|(_, sets)| sets.keys().all(|s| SymbolSet::ALL.contains(s)))); for set in SymbolSet::ALL { diff --git a/aac/aac-rs/crates/aac-core/src/usage.rs b/aac/aac-rs/crates/aac-core/src/usage.rs index dac427fe9..bd20174c3 100644 --- a/aac/aac-rs/crates/aac-core/src/usage.rs +++ b/aac/aac-rs/crates/aac-core/src/usage.rs @@ -326,7 +326,7 @@ mod tests { }) .collect(); let started = std::time::Instant::now(); - assert!(new_in(&long, long.clone()).is_empty()); + assert_eq!(new_in(&long, long.clone()), [] as [Selection; 0]); assert!(started.elapsed() < std::time::Duration::from_secs(2), "{:?}", started.elapsed()); let mut mine: Modelled = [("a".to_string(), 3), ("b".to_string(), 1)].into(); merge_modelled(&mut mine, &[("a".to_string(), 2), ("c".to_string(), 4)].into()); diff --git a/aac/aac-rs/crates/aac-core/src/wordsplit.rs b/aac/aac-rs/crates/aac-core/src/wordsplit.rs index 5d58cbc37..3ed105479 100644 --- a/aac/aac-rs/crates/aac-core/src/wordsplit.rs +++ b/aac/aac-rs/crates/aac-core/src/wordsplit.rs @@ -285,7 +285,7 @@ mod tests { assert_eq!(s.words, ["I", "want", "wat"]); assert!(s.open); assert!(!split_words("I want ", false).open); - assert!(split_words("", false).words.is_empty()); + assert_eq!(split_words("", false).words, [] as [String; 0]); } #[test] diff --git a/aac/aac-rs/crates/access-core/src/adaptation.rs b/aac/aac-rs/crates/access-core/src/adaptation.rs index 55335a878..8e0a2bace 100644 --- a/aac/aac-rs/crates/access-core/src/adaptation.rs +++ b/aac/aac-rs/crates/access-core/src/adaptation.rs @@ -271,7 +271,10 @@ mod tests { fn uniform_is_uniform() { let p = UniformPrior.probabilities(&opts(), &PriorContext::default()); assert_eq!(p, vec![1.0 / 3.0; 3]); - assert!(UniformPrior.probabilities(&[], &PriorContext::default()).is_empty()); + assert_eq!( + UniformPrior.probabilities(&[], &PriorContext::default()), + [] as [f64; 0] + ); } #[test] @@ -288,7 +291,7 @@ mod tests { fn normalize_handles_garbage() { assert_eq!(normalize(&[f64::NAN, -1.0, 0.0]), vec![1.0 / 3.0; 3]); assert_eq!(normalize(&[2.0, f64::INFINITY, 2.0]), vec![0.5, 0.0, 0.5]); - assert!(normalize(&[]).is_empty()); + assert_eq!(normalize(&[]), [] as [f64; 0]); } #[test] diff --git a/aac/aac-rs/crates/access-core/src/press_timing.rs b/aac/aac-rs/crates/access-core/src/press_timing.rs index 64478b15d..4ed3d2603 100644 --- a/aac/aac-rs/crates/access-core/src/press_timing.rs +++ b/aac/aac-rs/crates/access-core/src/press_timing.rs @@ -564,7 +564,7 @@ mod tests { m.complete_selection(); m.stage(&[900.0], true); m.abandon(); - assert!(m.staged().is_empty()); + assert_eq!(m.staged(), [] as [f64; 0]); for k in 0..3 { select(&mut m, 700.0 + f64::from(k)); } @@ -615,7 +615,7 @@ mod tests { fn nan_offsets_are_ignored() { let mut m = PressTimingModel::for_scan_interval(1000); m.stage(&[f64::NAN, f64::INFINITY], true); - assert!(m.staged().is_empty()); + assert_eq!(m.staged(), [] as [f64; 0]); m.learn_kept(&[f64::NAN]); assert_eq!(m.confirmed(), 0); } diff --git a/eoc/eoc-rs/rust-toolchain.toml b/eoc/eoc-rs/rust-toolchain.toml index b2647615d..4fc422dc2 100644 --- a/eoc/eoc-rs/rust-toolchain.toml +++ b/eoc/eoc-rs/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.98.0" +channel = "1.99.1" components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"] profile = "default" diff --git a/jouleclaw/jouleclaw-rs/crates/jouleclaw-omni/src/inference/architecture/mochi.rs b/jouleclaw/jouleclaw-rs/crates/jouleclaw-omni/src/inference/architecture/mochi.rs index 782eaf9f1..7a4842e09 100644 --- a/jouleclaw/jouleclaw-rs/crates/jouleclaw-omni/src/inference/architecture/mochi.rs +++ b/jouleclaw/jouleclaw-rs/crates/jouleclaw-omni/src/inference/architecture/mochi.rs @@ -259,7 +259,7 @@ impl MochiPipeline { let mut latent_data = vec![0.0f32; latent_size]; // Simple pseudo-random initialization using golden ratio hash for i in 0..latent_size { - let hash = ((i as f32 * 1.618_034) % 1.0) * 2.0 - 1.0; + let hash = ((i as f32 * std::f32::consts::GOLDEN_RATIO) % 1.0) * 2.0 - 1.0; latent_data[i] = hash * 0.1; } let latent_f16: Vec = latent_data.iter().map(|&v| half::f16::from_f32(v)).collect(); diff --git a/jouleclaw/jouleclaw-rs/crates/jouleclaw-outlier/src/lib.rs b/jouleclaw/jouleclaw-rs/crates/jouleclaw-outlier/src/lib.rs index 440adbd92..79fa6cb9d 100644 --- a/jouleclaw/jouleclaw-rs/crates/jouleclaw-outlier/src/lib.rs +++ b/jouleclaw/jouleclaw-rs/crates/jouleclaw-outlier/src/lib.rs @@ -310,7 +310,7 @@ fn c_factor(n: usize) -> f64 { return 0.0; } let n_f = n as f64; - 2.0 * ((n_f - 1.0).ln() + 0.5772156649) - (2.0 * (n_f - 1.0) / n_f) + 2.0 * ((n_f - 1.0).ln() + std::f64::consts::EULER_GAMMA) - (2.0 * (n_f - 1.0) / n_f) } impl Scored for IsolationForest { diff --git a/openpay/crates/op-crypto-extra/src/htlc.rs b/openpay/crates/op-crypto-extra/src/htlc.rs index df90881e6..bf15ec692 100644 --- a/openpay/crates/op-crypto-extra/src/htlc.rs +++ b/openpay/crates/op-crypto-extra/src/htlc.rs @@ -218,7 +218,7 @@ mod tests { c.state = s; // Round-trip via serde to confirm enum variants serialize. let s_json = serde_json::to_string(&c.state).unwrap(); - assert!(!s_json.is_empty()); + assert_ne!(s_json, ""); } } } diff --git a/openpay/crates/op-crypto-extra/src/stable.rs b/openpay/crates/op-crypto-extra/src/stable.rs index 3c8f1d021..d7d9c237a 100644 --- a/openpay/crates/op-crypto-extra/src/stable.rs +++ b/openpay/crates/op-crypto-extra/src/stable.rs @@ -289,7 +289,7 @@ mod tests { Stablecoin::Eurc, Stablecoin::Fdusd, ] { - assert!(!s.symbol().is_empty()); + assert_ne!(s.symbol(), ""); } } diff --git a/openpay/crates/op-emv/src/stream.rs b/openpay/crates/op-emv/src/stream.rs index f4db661d3..26a03265d 100644 --- a/openpay/crates/op-emv/src/stream.rs +++ b/openpay/crates/op-emv/src/stream.rs @@ -333,7 +333,7 @@ mod tests { assert_eq!(children[0].tag.0, 0x84); assert_eq!(children[0].value, &[0xAA, 0xBB]); assert_eq!(children[1].tag.0, 0xA5); - assert!(children[1].value.is_empty()); + assert_eq!(children[1].value, []); } #[test] diff --git a/openpay/crates/op-iso20022/src/bah.rs b/openpay/crates/op-iso20022/src/bah.rs index 9f93eb7bc..cce3f499f 100644 --- a/openpay/crates/op-iso20022/src/bah.rs +++ b/openpay/crates/op-iso20022/src/bah.rs @@ -267,7 +267,7 @@ mod tests { PartyIdentification::AbaRoutingNumber("026009593".into()), "pacs.008.001.08", ); - assert!(!bah.business_message_id.is_empty()); + assert_ne!(bah.business_message_id, ""); assert_eq!(bah.message_definition_id, "pacs.008.001.08"); assert!(bah.validate().is_ok()); } diff --git a/openpay/crates/op-iso20022/src/statement.rs b/openpay/crates/op-iso20022/src/statement.rs index b6da7145c..a0f5bf618 100644 --- a/openpay/crates/op-iso20022/src/statement.rs +++ b/openpay/crates/op-iso20022/src/statement.rs @@ -196,7 +196,7 @@ mod tests { fn non_camt053_message_yields_no_entries() { // Any other kind flattens to nothing rather than erroring. let admi = Message::Admi002(Box::default()); - assert!(admi.camt053_entries().is_empty()); + assert_eq!(admi.camt053_entries(), [] as [StatementEntry; 0]); } #[test] diff --git a/openpay/crates/op-reconciliation/src/matcher.rs b/openpay/crates/op-reconciliation/src/matcher.rs index ab566da59..37eb33b28 100644 --- a/openpay/crates/op-reconciliation/src/matcher.rs +++ b/openpay/crates/op-reconciliation/src/matcher.rs @@ -283,7 +283,7 @@ mod tests { TOL, ); assert_eq!(o.matched, 1); - assert!(o.discrepancies.is_empty()); + assert_eq!(o.discrepancies, [] as [Discrepancy; 0]); } #[test] @@ -308,7 +308,7 @@ mod tests { fn out_of_window_ledger_tx_not_flagged() { // tx effective beyond the window end → not our concern. let o = match_lines(&[], &[posted("ORD-X", 10, 2_000_000)], W, TOL); - assert!(o.discrepancies.is_empty()); + assert_eq!(o.discrepancies, [] as [Discrepancy; 0]); } #[test] @@ -355,7 +355,7 @@ mod tests { TOL, ); assert_eq!(o.fuzzy_matched, 1); - assert!(o.discrepancies.is_empty()); + assert_eq!(o.discrepancies, [] as [Discrepancy; 0]); } #[test] diff --git a/openpay/crates/op-routing/src/lcr.rs b/openpay/crates/op-routing/src/lcr.rs index 95d89399d..aefa33075 100644 --- a/openpay/crates/op-routing/src/lcr.rs +++ b/openpay/crates/op-routing/src/lcr.rs @@ -264,6 +264,6 @@ mod tests { #[test] fn empty_pool_returns_empty() { let router = LeastCostRouter::new(); - assert!(router.select(&intent(10_000)).is_empty()); + assert_eq!(router.select(&intent(10_000)), [] as [Route; 0]); } } diff --git a/openpay/crates/op-screening/src/screener.rs b/openpay/crates/op-screening/src/screener.rs index a73cc79f8..2cbd6666d 100644 --- a/openpay/crates/op-screening/src/screener.rs +++ b/openpay/crates/op-screening/src/screener.rs @@ -249,7 +249,7 @@ mod tests { .await .expect("ok"); assert_eq!(r.decision, ScreenDecision::Clear); - assert!(r.hits.is_empty()); + assert_eq!(r.hits, [] as [MatchScore; 0]); } #[tokio::test] diff --git a/openpay/crates/op-settlement/src/batch.rs b/openpay/crates/op-settlement/src/batch.rs index f3906aa4e..5dca6a93e 100644 --- a/openpay/crates/op-settlement/src/batch.rs +++ b/openpay/crates/op-settlement/src/batch.rs @@ -328,7 +328,7 @@ mod tests { fn opens_in_open_status() { let b = Batch::open(Currency::USD, PayoutRail::AchNacha, 1_000); assert_eq!(b.status.code(), "open"); - assert!(b.entries.is_empty()); + assert_eq!(b.entries, [] as [BatchEntry; 0]); } #[test] diff --git a/openpay/crates/op-settlement/src/store.rs b/openpay/crates/op-settlement/src/store.rs index c58f83f30..a0ab7c975 100644 --- a/openpay/crates/op-settlement/src/store.rs +++ b/openpay/crates/op-settlement/src/store.rs @@ -222,6 +222,6 @@ mod tests { Ok(()) }) .unwrap(); - assert!(store.list_open().unwrap().is_empty()); + assert_eq!(store.list_open().unwrap(), [] as [Batch; 0]); } } diff --git a/openpay/crates/op-tax/src/nexus.rs b/openpay/crates/op-tax/src/nexus.rs index 59f3ee8d3..18ad909bd 100644 --- a/openpay/crates/op-tax/src/nexus.rs +++ b/openpay/crates/op-tax/src/nexus.rs @@ -323,6 +323,6 @@ mod tests { let mut m = NexusMonitor::new(); // No thresholds configured. let events = m.record(&tx("WA", 1_000_000)); - assert!(events.is_empty()); + assert_eq!(events, [] as [NexusEvent; 0]); } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b2647615d..4fc422dc2 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.98.0" +channel = "1.99.1" components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"] profile = "default" diff --git a/smart-byte/smart-byte-rs/Cargo.lock b/smart-byte/smart-byte-rs/Cargo.lock index f85aa68cb..d7eb0d82b 100644 --- a/smart-byte/smart-byte-rs/Cargo.lock +++ b/smart-byte/smart-byte-rs/Cargo.lock @@ -256,13 +256,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.89" +version = "0.1.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 3.0.9", ] [[package]] @@ -6469,6 +6469,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "syn-mid" version = "0.5.4"