[INFO] fetching crate symproj 0.1.2...
[INFO] testing symproj-0.1.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate symproj 0.1.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate symproj 0.1.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate symproj 0.1.2
[INFO] tweaked toml for crates.io crate symproj 0.1.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate symproj 0.1.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate symproj 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding textprep v0.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca6fcdb58800bd81cb1590ccf1b9d772d2e987a2b74fca73ef502e1fd6d4afdb
[INFO] running `Command { std: "docker" "start" "-a" "ca6fcdb58800bd81cb1590ccf1b9d772d2e987a2b74fca73ef502e1fd6d4afdb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca6fcdb58800bd81cb1590ccf1b9d772d2e987a2b74fca73ef502e1fd6d4afdb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca6fcdb58800bd81cb1590ccf1b9d772d2e987a2b74fca73ef502e1fd6d4afdb", kill_on_drop: false }`
[INFO] [stdout] ca6fcdb58800bd81cb1590ccf1b9d772d2e987a2b74fca73ef502e1fd6d4afdb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 034f2559a66e2802fcc67697a7ed94426fbb8bf32c6694811c3552e98ac4ed6c
[INFO] running `Command { std: "docker" "start" "-a" "034f2559a66e2802fcc67697a7ed94426fbb8bf32c6694811c3552e98ac4ed6c", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling textprep v0.1.5
[INFO] [stderr]    Compiling symproj v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.73s
[INFO] running `Command { std: "docker" "inspect" "034f2559a66e2802fcc67697a7ed94426fbb8bf32c6694811c3552e98ac4ed6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "034f2559a66e2802fcc67697a7ed94426fbb8bf32c6694811c3552e98ac4ed6c", kill_on_drop: false }`
[INFO] [stdout] 034f2559a66e2802fcc67697a7ed94426fbb8bf32c6694811c3552e98ac4ed6c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f4252da6c7f17eec9e48291703fd3e855385bb966f72b11b5b0cb7659ca0490
[INFO] running `Command { std: "docker" "start" "-a" "3f4252da6c7f17eec9e48291703fd3e855385bb966f72b11b5b0cb7659ca0490", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling innr v0.1.9
[INFO] [stderr]    Compiling innr v0.2.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rankops v0.1.4
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling vicinity v0.2.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling symproj v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stdout]    --> src/lib.rs:322:19
[INFO] [stdout]     |
[INFO] [stdout] 322 |     use textprep::BpeTokenizer;
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stdout]    --> src/lib.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stdout]    --> src/lib.rs:433:25
[INFO] [stdout]     |
[INFO] [stdout] 433 |         let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stdout]   --> examples/embed_and_search.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use textprep::BpeTokenizer;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stdout]   --> examples/embed_and_search.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.83s
[INFO] running `Command { std: "docker" "inspect" "3f4252da6c7f17eec9e48291703fd3e855385bb966f72b11b5b0cb7659ca0490", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f4252da6c7f17eec9e48291703fd3e855385bb966f72b11b5b0cb7659ca0490", kill_on_drop: false }`
[INFO] [stdout] 3f4252da6c7f17eec9e48291703fd3e855385bb966f72b11b5b0cb7659ca0490
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c22395eae895cbc97b86dc4bcadd28548b28d7b10dbd8217e7393a09d711da40
[INFO] running `Command { std: "docker" "start" "-a" "c22395eae895cbc97b86dc4bcadd28548b28d7b10dbd8217e7393a09d711da40", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stderr]    --> src/lib.rs:322:19
[INFO] [stderr]     |
[INFO] [stderr] 322 |     use textprep::BpeTokenizer;
[INFO] [stderr]     |                   ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stderr]    --> src/lib.rs:329:25
[INFO] [stderr]     |
[INFO] [stderr] 329 |         let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stderr]     |                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stderr]    --> src/lib.rs:433:25
[INFO] [stderr]     |
[INFO] [stderr] 433 |         let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stderr]     |                         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stderr]   --> examples/embed_and_search.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 | use textprep::BpeTokenizer;
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated struct `textprep::BpeTokenizer`: misleading name: this is a vocabulary lookup, not BPE. Use VocabTokenizer instead.
[INFO] [stderr]   --> examples/embed_and_search.rs:62:21
[INFO] [stderr]    |
[INFO] [stderr] 62 |     let tokenizer = BpeTokenizer::from_vocab(vocab);
[INFO] [stderr]    |                     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `symproj` (lib test) generated 3 warnings
[INFO] [stderr] warning: `symproj` (example "embed_and_search") generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/symproj-05055dcba26fcaa8)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::codebook_strict_errors_on_missing_token ... ok
[INFO] [stdout] test tests::encode_ids_all_missing_returns_zero_vector ... ok
[INFO] [stdout] test tests::l2_normalize_has_unit_norm_when_nonzero ... ok
[INFO] [stdout] test tests::l2_normalize_noop_on_zero_vector ... ok
[INFO] [stdout] test tests::single_token_equals_embedding ... ok
[INFO] [stdout] test tests::test_codebook_rejects_non_multiple ... ok
[INFO] [stdout] test tests::test_codebook_rejects_zero_dim ... ok
[INFO] [stdout] test tests::weighted_zero_weights_returns_zero_vector ... ok
[INFO] [stdout] test tests::test_projection_basic ... ok
[INFO] [stdout] test tests::weighted_mean_matches_unweighted_mean_when_all_weights_equal ... ok
[INFO] [stdout] test tests::multilingual_vocab_smoke ... ok
[INFO] [stdout] test tests::remove_component_dimension_mismatch_errors ... ok
[INFO] [stderr]      Running tests/proptest_symproj.rs (/opt/rustwide/target/debug/deps/proptest_symproj-688f8993e6b49022)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test single_token_equals_embedding ... ok
[INFO] [stdout] test l2_normalize_produces_unit_norm ... ok
[INFO] [stdout] test sif_weight_monotonically_decreasing ... ok
[INFO] [stdout] test l2_normalize_idempotent ... ok
[INFO] [stdout] test sif_weight_in_zero_one ... ok
[INFO] [stdout] test remove_component_reduces_dot_to_zero ... ok
[INFO] [stderr]    Doc-tests symproj
[INFO] [stdout] test strict_equals_lenient_for_valid_ids ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c22395eae895cbc97b86dc4bcadd28548b28d7b10dbd8217e7393a09d711da40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c22395eae895cbc97b86dc4bcadd28548b28d7b10dbd8217e7393a09d711da40", kill_on_drop: false }`
[INFO] [stdout] c22395eae895cbc97b86dc4bcadd28548b28d7b10dbd8217e7393a09d711da40
