Rust 1.98.0 -> 1.99.1: toolchain pin (change-controlled) and the lints clippy 1.99 adds #472

Closed
dcharlot wants to merge 2 commits from chore/rust-1.99.1 into main
63 changed files with 288 additions and 265 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 ──────────────────────────────────────────

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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]);
}
}

View file

@ -1333,7 +1333,10 @@ mod tests {
assert_eq!(second.len(), 3);
assert_eq!(second.presses.iter().map(|p| p.board).collect::<Vec<_>>(), [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("說"));
}

View file

@ -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]);
}
}

View file

@ -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);

View file

@ -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<Key>; 0]);
for (r, row) in page.rows.iter().enumerate() {
let covered: u16 = row.iter().map(|k| k.span).sum();
assert_eq!(

View file

@ -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());
}

View file

@ -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);
}

View file

@ -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);

View file

@ -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 {

View file

@ -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());

View file

@ -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]

View file

@ -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]

View file

@ -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);
}

View file

@ -1,4 +1,4 @@
[toolchain]
channel = "1.98.0"
channel = "1.99.1"
components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"]
profile = "default"

View file

@ -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<half::f16> = latent_data.iter().map(|&v| half::f16::from_f32(v)).collect();

View file

@ -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 {

View file

@ -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, "");
}
}
}

View file

@ -289,7 +289,7 @@ mod tests {
Stablecoin::Eurc,
Stablecoin::Fdusd,
] {
assert!(!s.symbol().is_empty());
assert_ne!(s.symbol(), "");
}
}

View file

@ -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]

View file

@ -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());
}

View file

@ -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]

View file

@ -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]

View file

@ -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]);
}
}

View file

@ -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]

View file

@ -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]

View file

@ -222,6 +222,6 @@ mod tests {
Ok(())
})
.unwrap();
assert!(store.list_open().unwrap().is_empty());
assert_eq!(store.list_open().unwrap(), [] as [Batch; 0]);
}
}

View file

@ -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]);
}
}

View file

@ -1,4 +1,4 @@
[toolchain]
channel = "1.98.0"
channel = "1.99.1"
components = ["rustc", "cargo", "rust-std", "rustfmt", "clippy"]
profile = "default"

View file

@ -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"