[INFO] cloning repository https://github.com/Avo-k/colver
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Avo-k/colver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAvo-k%2Fcolver", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAvo-k%2Fcolver'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 06e62d80732cf6e8b92da7f1041e0cb3ecc584f5
[INFO] testing Avo-k/colver/06e62d80732cf6e8b92da7f1041e0cb3ecc584f5 against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAvo-k%2Fcolver" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Avo-k/colver
[INFO] finished tweaking git repo https://github.com/Avo-k/colver
[INFO] tweaked toml for git repo https://github.com/Avo-k/colver written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Avo-k/colver on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Avo-k/colver 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" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-3-tc1/source/colver-wasm/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.112
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.112
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.112
[INFO] [stderr]   Downloaded safetensors v0.7.0
[INFO] [stderr]   Downloaded gemm-c32 v0.19.0
[INFO] [stderr]   Downloaded bindgen_cuda v0.1.6
[INFO] [stderr]   Downloaded gemm-c32 v0.18.2
[INFO] [stderr]   Downloaded gemm-c64 v0.19.0
[INFO] [stderr]   Downloaded gemm-c64 v0.18.2
[INFO] [stderr]   Downloaded gemm-f64 v0.18.2
[INFO] [stderr]   Downloaded gemm-f16 v0.18.2
[INFO] [stderr]   Downloaded safetensors v0.4.5
[INFO] [stderr]   Downloaded gemm v0.18.2
[INFO] [stderr]   Downloaded dyn-stack v0.13.2
[INFO] [stderr]   Downloaded libloading v0.9.0
[INFO] [stderr]   Downloaded ug v0.5.0
[INFO] [stderr]   Downloaded numpy v0.22.1
[INFO] [stderr]   Downloaded candle-kernels v0.9.2
[INFO] [stderr]   Downloaded raw-cpuid v11.6.0
[INFO] [stderr]   Downloaded typed-path v0.12.3
[INFO] [stderr]   Downloaded pulp v0.21.5
[INFO] [stderr]   Downloaded pulp v0.22.2
[INFO] [stderr]   Downloaded zip v7.2.0
[INFO] [stderr]   Downloaded candle-nn v0.9.2
[INFO] [stderr]   Downloaded candle-core v0.9.2
[INFO] [stderr]   Downloaded js-sys v0.3.89
[INFO] [stderr]   Downloaded sysctl v0.6.0
[INFO] [stderr]   Downloaded gemm-common v0.19.0
[INFO] [stderr]   Downloaded ndarray v0.16.1
[INFO] [stderr]   Downloaded ug-cuda v0.5.0
[INFO] [stderr]   Downloaded float8 v0.7.0
[INFO] [stderr]   Downloaded float8 v0.6.1
[INFO] [stderr]   Downloaded gemm-f16 v0.19.0
[INFO] [stderr]   Downloaded gemm v0.19.0
[INFO] [stderr]   Downloaded gemm-common v0.18.2
[INFO] [stderr]   Downloaded gemm-f32 v0.18.2
[INFO] [stderr]   Downloaded candle-ug v0.9.2
[INFO] [stderr]   Downloaded dyn-stack-macros v0.1.3
[INFO] [stderr]   Downloaded pulp-wasm-simd-flag v0.1.0
[INFO] [stderr]   Downloaded reborrow v0.5.5
[INFO] [stderr]   Downloaded gemm-f64 v0.19.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.112
[INFO] [stderr]   Downloaded gemm-f32 v0.19.0
[INFO] [stderr]   Downloaded cudarc v0.17.8
[INFO] [stderr]   Downloaded cudarc v0.19.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6af7e8b39df559b72eaf51f7cbdc5965b15dd0a29cc3c4a89c3b010ea85024b4
[INFO] running `Command { std: "docker" "start" "-a" "6af7e8b39df559b72eaf51f7cbdc5965b15dd0a29cc3c4a89c3b010ea85024b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6af7e8b39df559b72eaf51f7cbdc5965b15dd0a29cc3c4a89c3b010ea85024b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6af7e8b39df559b72eaf51f7cbdc5965b15dd0a29cc3c4a89c3b010ea85024b4", kill_on_drop: false }`
[INFO] [stdout] 6af7e8b39df559b72eaf51f7cbdc5965b15dd0a29cc3c4a89c3b010ea85024b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a38e0b2bab6988dee4fdb109e6ed1343e3659fa2ac4693bb8d995a70e30611ad
[INFO] running `Command { std: "docker" "start" "-a" "a38e0b2bab6988dee4fdb109e6ed1343e3659fa2ac4693bb8d995a70e30611ad", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/colver-wasm/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.112
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling unindent v0.2.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]    Compiling wasm-bindgen v0.2.112
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling colver-core v0.1.0 (/opt/rustwide/workdir/colver-core)
[INFO] [stdout] warning: unused import: `crate::bidding`
[INFO] [stdout]  --> colver-core/src/cfn.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::bidding;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> colver-core/src/bid_train_env.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 585 | pub struct BidReplayBuffer {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 586 |     capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.112
[INFO] [stdout] warning: unused variable: `total_pts`
[INFO] [stdout]    --> colver-core/src/tests/maxi_diagnose.rs:376:17
[INFO] [stdout]     |
[INFO] [stdout] 376 | ...   let total_pts = if is_last { pts + if pts > 0 || state.points[0] + state.points[1] > 162 - 10 { 10 } else { 100 } } else { pt...
[INFO] [stdout]     |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_pts`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_threads` is assigned to, but never used
[INFO] [stdout]   --> colver-core/src/tests/generate_game_data.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut num_threads: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_threads` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_threads` is never read
[INFO] [stdout]   --> colver-core/src/tests/generate_game_data.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_bidding` is never used
[INFO] [stdout]   --> colver-core/src/tests/bid_debug.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn simulate_bidding(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unknown_mask`
[INFO] [stdout]    --> colver-core/src/tests/belief_eval.rs:613:13
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let unknown_mask = !observer_hand & !played;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown_mask`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `improved_bid` and `smart_bid`
[INFO] [stdout]   --> colver-core/src/tests/diagnose_smart.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use colver_core::bid_eval::{heuristic_bid, improved_bid, smart_bid, BidFunction};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MctsConfig`, `MctsSearch`, `RolloutPolicy`, and `SearchResult`
[INFO] [stdout]   --> colver-core/src/tests/diagnose_smart.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use colver_core::mcts::{MctsConfig, MctsSearch, RolloutPolicy, SearchResult};
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_threads` is assigned to, but never used
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut num_threads: usize = 0; // 0 = auto-detect
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_threads` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_obs_len`
[INFO] [stdout]    --> colver-core/src/tests/generate_belief_data.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let total_obs_len: usize = results.iter().map(|r| r.obs.len()).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_obs_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_targets_len`
[INFO] [stdout]    --> colver-core/src/tests/generate_belief_data.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let total_targets_len: usize = results.iter().map(|r| r.targets.len()).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_targets_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_threads` is never read
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colver_core::bid_eval::BidFunction`
[INFO] [stdout]   --> colver-core/src/tests/isdd_sweep.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use colver_core::bid_eval::BidFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut game_det_failed = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let mut game_det_total = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_weighted`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_weighted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_greedy`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_greedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_failed`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut game_det_failed = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_failed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_total`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let mut game_det_total = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetStats` is never constructed
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | struct DetStats {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `print` are never used
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl DetStats {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 112 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_det_rates` is never used
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn test_det_rates(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `det_weighted_ok`, `det_greedy_fallback`, `det_failed`, `det_total`, `belief_accuracy_sum`, and `belief_accuracy_count` are never read
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | struct MatchResult {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     det_weighted_ok: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 307 |     det_greedy_fallback: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 |     det_failed: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 309 |     det_total: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 310 |     // Belief accuracy
[INFO] [stdout] 311 |     belief_accuracy_sum: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 312 |     belief_accuracy_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deals_played` is never read
[INFO] [stdout]   --> colver-core/src/tests/bid_tournament.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct MatchResult {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     deals_played: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.112
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]    Compiling js-sys v0.3.89
[INFO] [stderr]    Compiling numpy v0.22.1
[INFO] [stderr]    Compiling colver-py v0.1.0 (/opt/rustwide/workdir/colver-py)
[INFO] [stderr]    Compiling colver-wasm v0.1.0 (/opt/rustwide/workdir/colver-wasm)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.63s
[INFO] running `Command { std: "docker" "inspect" "a38e0b2bab6988dee4fdb109e6ed1343e3659fa2ac4693bb8d995a70e30611ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a38e0b2bab6988dee4fdb109e6ed1343e3659fa2ac4693bb8d995a70e30611ad", kill_on_drop: false }`
[INFO] [stdout] a38e0b2bab6988dee4fdb109e6ed1343e3659fa2ac4693bb8d995a70e30611ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 881b0051c990d3e0c403e72ebcd2c6f2ff172767f63e66cd06dc5f5656e39c6f
[INFO] running `Command { std: "docker" "start" "-a" "881b0051c990d3e0c403e72ebcd2c6f2ff172767f63e66cd06dc5f5656e39c6f", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/colver-wasm/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stdout] warning: unused import: `crate::bidding`
[INFO] [stdout]  --> colver-core/src/cfn.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::bidding;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> colver-core/src/bid_train_env.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 585 | pub struct BidReplayBuffer {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 586 |     capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling colver-core v0.1.0 (/opt/rustwide/workdir/colver-core)
[INFO] [stderr]    Compiling colver-wasm v0.1.0 (/opt/rustwide/workdir/colver-wasm)
[INFO] [stderr]    Compiling colver-py v0.1.0 (/opt/rustwide/workdir/colver-py)
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_threads` is assigned to, but never used
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut num_threads: usize = 0; // 0 = auto-detect
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_threads` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_obs_len`
[INFO] [stdout]    --> colver-core/src/tests/generate_belief_data.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let total_obs_len: usize = results.iter().map(|r| r.obs.len()).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_obs_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_targets_len`
[INFO] [stdout]    --> colver-core/src/tests/generate_belief_data.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |     let total_targets_len: usize = results.iter().map(|r| r.targets.len()).sum();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_targets_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_threads` is never read
[INFO] [stdout]   --> colver-core/src/tests/generate_belief_data.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_threads` is assigned to, but never used
[INFO] [stdout]   --> colver-core/src/tests/generate_game_data.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut num_threads: usize = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_threads` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num_threads` is never read
[INFO] [stdout]   --> colver-core/src/tests/generate_game_data.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_pts`
[INFO] [stdout]    --> colver-core/src/tests/maxi_diagnose.rs:376:17
[INFO] [stdout]     |
[INFO] [stdout] 376 | ...   let total_pts = if is_last { pts + if pts > 0 || state.points[0] + state.points[1] > 162 - 10 { 10 } else { 100 } } else { pt...
[INFO] [stdout]     |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_pts`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `improved_bid` and `smart_bid`
[INFO] [stdout]   --> colver-core/src/tests/diagnose_smart.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use colver_core::bid_eval::{heuristic_bid, improved_bid, smart_bid, BidFunction};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MctsConfig`, `MctsSearch`, `RolloutPolicy`, and `SearchResult`
[INFO] [stdout]   --> colver-core/src/tests/diagnose_smart.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use colver_core::mcts::{MctsConfig, MctsSearch, RolloutPolicy, SearchResult};
[INFO] [stdout]    |                         ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unknown_mask`
[INFO] [stdout]    --> colver-core/src/tests/belief_eval.rs:613:13
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let unknown_mask = !observer_hand & !played;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown_mask`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_bidding` is never used
[INFO] [stdout]   --> colver-core/src/tests/bid_debug.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn simulate_bidding(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bidding`
[INFO] [stdout]  --> colver-core/src/cfn.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::bidding;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut game_det_failed = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let mut game_det_total = 0u32;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_weighted`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_weighted`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_greedy`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_greedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_failed`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut game_det_failed = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_failed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_det_total`
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let mut game_det_total = 0u32;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_total`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetStats` is never constructed
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | struct DetStats {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `print` are never used
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl DetStats {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 112 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn print(&self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_det_rates` is never used
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn test_det_rates(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `det_weighted_ok`, `det_greedy_fallback`, `det_failed`, `det_total`, `belief_accuracy_sum`, and `belief_accuracy_count` are never read
[INFO] [stdout]    --> colver-core/src/tests/diagnose_smart.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | struct MatchResult {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 306 |     det_weighted_ok: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 307 |     det_greedy_fallback: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 308 |     det_failed: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 309 |     det_total: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 310 |     // Belief accuracy
[INFO] [stdout] 311 |     belief_accuracy_sum: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 312 |     belief_accuracy_count: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deals_played` is never read
[INFO] [stdout]   --> colver-core/src/tests/bid_tournament.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct MatchResult {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     deals_played: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colver_core::bid_eval::BidFunction`
[INFO] [stdout]   --> colver-core/src/tests/isdd_sweep.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use colver_core::bid_eval::BidFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `state` is never read
[INFO] [stdout]    --> colver-core/src/play.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         state.current_trick[1] = make_card(Suit::Clubs, 1);    // P1: 8C (trump cut)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `state` is never read
[INFO] [stdout]    --> colver-core/src/play.rs:527:9
[INFO] [stdout]     |
[INFO] [stdout] 527 |         state.trick_count = 3;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `state` is never read
[INFO] [stdout]    --> colver-core/src/play.rs:528:9
[INFO] [stdout]     |
[INFO] [stdout] 528 |         state.current_player = 2;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]     --> colver-core/src/bid_eval.rs:4301:13
[INFO] [stdout]      |
[INFO] [stdout] 4301 |         let state = GameState::new(3, [hand, other_hands[0], other_hands[1], other_hands[2]]);
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/dmc_net.rs:687:13
[INFO] [stdout]     |
[INFO] [stdout] 687 |         let mut w_adv = vec![0.0f32; hidden * NUM_ACTIONS];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> colver-core/src/bid_train_env.rs:888:13
[INFO] [stdout]     |
[INFO] [stdout] 888 |         let mut vec_env = VecBidEnv::new(4, 42);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> colver-core/src/bid_train_env.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 585 | pub struct BidReplayBuffer {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 586 |     capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.13s
[INFO] running `Command { std: "docker" "inspect" "881b0051c990d3e0c403e72ebcd2c6f2ff172767f63e66cd06dc5f5656e39c6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "881b0051c990d3e0c403e72ebcd2c6f2ff172767f63e66cd06dc5f5656e39c6f", kill_on_drop: false }`
[INFO] [stdout] 881b0051c990d3e0c403e72ebcd2c6f2ff172767f63e66cd06dc5f5656e39c6f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e49718aa72a5cfe0071c039eb73cba2fb50c2ef1219c27b65d2f608c43051ef
[INFO] running `Command { std: "docker" "start" "-a" "5e49718aa72a5cfe0071c039eb73cba2fb50c2ef1219c27b65d2f608c43051ef", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/colver-wasm/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: unused import: `crate::bidding`
[INFO] [stderr]  --> colver-core/src/cfn.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::bidding;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `capacity` is never read
[INFO] [stderr]    --> colver-core/src/bid_train_env.rs:586:5
[INFO] [stderr]     |
[INFO] [stderr] 585 | pub struct BidReplayBuffer {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] 586 |     capacity: usize,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `state` is never read
[INFO] [stderr]    --> colver-core/src/play.rs:526:9
[INFO] [stderr]     |
[INFO] [stderr] 526 |         state.current_trick[1] = make_card(Suit::Clubs, 1);    // P1: 8C (trump cut)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `state` is never read
[INFO] [stderr]    --> colver-core/src/play.rs:527:9
[INFO] [stderr]     |
[INFO] [stderr] 527 |         state.trick_count = 3;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `state` is never read
[INFO] [stderr]    --> colver-core/src/play.rs:528:9
[INFO] [stderr]     |
[INFO] [stderr] 528 |         state.current_player = 2;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]     --> colver-core/src/bid_eval.rs:4301:13
[INFO] [stderr]      |
[INFO] [stderr] 4301 |         let state = GameState::new(3, [hand, other_hands[0], other_hands[1], other_hands[2]]);
[INFO] [stderr]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/dmc_net.rs:687:13
[INFO] [stderr]     |
[INFO] [stderr] 687 |         let mut w_adv = vec![0.0f32; hidden * NUM_ACTIONS];
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/bid_train_env.rs:888:13
[INFO] [stderr]     |
[INFO] [stderr] 888 |         let mut vec_env = VecBidEnv::new(4, 42);
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `colver-core` (lib) generated 2 warnings (run `cargo fix --lib -p colver-core` to apply 1 suggestion)
[INFO] [stderr] warning: `colver-core` (lib test) generated 8 warnings (2 duplicates) (run `cargo fix --lib -p colver-core --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused variable: `unknown_mask`
[INFO] [stderr]    --> colver-core/src/tests/belief_eval.rs:613:13
[INFO] [stderr]     |
[INFO] [stderr] 613 |         let unknown_mask = !observer_hand & !played;
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unknown_mask`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `colver_core::bid_eval::BidFunction`
[INFO] [stderr]   --> colver-core/src/tests/isdd_sweep.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use colver_core::bid_eval::BidFunction;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_pts`
[INFO] [stderr]    --> colver-core/src/tests/maxi_diagnose.rs:376:17
[INFO] [stderr]     |
[INFO] [stderr] 376 | ...   let total_pts = if is_last { pts + if pts > 0 || state.points[0] + state.points[1] > 162 - 10 { 10 } else { 100 } } else { pt...
[INFO] [stderr]     |           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_pts`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `simulate_bidding` is never used
[INFO] [stderr]   --> colver-core/src/tests/bid_debug.rs:81:4
[INFO] [stderr]    |
[INFO] [stderr] 81 | fn simulate_bidding(
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `improved_bid` and `smart_bid`
[INFO] [stderr]   --> colver-core/src/tests/diagnose_smart.rs:12:44
[INFO] [stderr]    |
[INFO] [stderr] 12 | use colver_core::bid_eval::{heuristic_bid, improved_bid, smart_bid, BidFunction};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MctsConfig`, `MctsSearch`, `RolloutPolicy`, and `SearchResult`
[INFO] [stderr]   --> colver-core/src/tests/diagnose_smart.rs:16:25
[INFO] [stderr]    |
[INFO] [stderr] 16 | use colver_core::mcts::{MctsConfig, MctsSearch, RolloutPolicy, SearchResult};
[INFO] [stderr]    |                         ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stderr]     |
[INFO] [stderr] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stderr]     |
[INFO] [stderr] 402 |         let mut game_det_failed = 0u32;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let mut game_det_total = 0u32;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `game_det_weighted`
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:400:13
[INFO] [stderr]     |
[INFO] [stderr] 400 |         let mut game_det_weighted = 0u32;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_weighted`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `game_det_greedy`
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:401:13
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let mut game_det_greedy = 0u32;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_greedy`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `game_det_failed`
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:402:13
[INFO] [stderr]     |
[INFO] [stderr] 402 |         let mut game_det_failed = 0u32;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_failed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `game_det_total`
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let mut game_det_total = 0u32;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_det_total`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DetStats` is never constructed
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:104:8
[INFO] [stderr]     |
[INFO] [stderr] 104 | struct DetStats {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `print` are never used
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 111 | impl DetStats {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 112 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn print(&self) {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_det_rates` is never used
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:211:4
[INFO] [stderr]     |
[INFO] [stderr] 211 | fn test_det_rates(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `det_weighted_ok`, `det_greedy_fallback`, `det_failed`, `det_total`, `belief_accuracy_sum`, and `belief_accuracy_count` are never read
[INFO] [stderr]    --> colver-core/src/tests/diagnose_smart.rs:306:5
[INFO] [stderr]     |
[INFO] [stderr] 292 | struct MatchResult {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 306 |     det_weighted_ok: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 307 |     det_greedy_fallback: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 308 |     det_failed: u32,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 309 |     det_total: u32,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 310 |     // Belief accuracy
[INFO] [stderr] 311 |     belief_accuracy_sum: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 312 |     belief_accuracy_count: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `colver-core` (bin "belief_eval" test) generated 1 warning (run `cargo fix --bin "belief_eval" -p colver-core --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `colver-core` (bin "isdd_sweep" test) generated 1 warning (run `cargo fix --bin "isdd_sweep" -p colver-core --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `colver-core` (bin "maxi_diagnose" test) generated 1 warning (run `cargo fix --bin "maxi_diagnose" -p colver-core --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `colver-core` (bin "bid_debug" test) generated 1 warning
[INFO] [stderr] warning: `colver-core` (bin "diagnose_smart" test) generated 14 warnings (run `cargo fix --bin "diagnose_smart" -p colver-core --tests` to apply 10 suggestions)
[INFO] [stderr] warning: field `deals_played` is never read
[INFO] [stderr]   --> colver-core/src/tests/bid_tournament.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | struct MatchResult {
[INFO] [stderr]    |        ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 27 |     deals_played: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]   --> colver-core/src/tests/generate_belief_data.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use std::io::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `num_threads` is assigned to, but never used
[INFO] [stderr]   --> colver-core/src/tests/generate_belief_data.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 |     let mut num_threads: usize = 0; // 0 = auto-detect
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_num_threads` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_obs_len`
[INFO] [stderr]    --> colver-core/src/tests/generate_belief_data.rs:153:9
[INFO] [stderr]     |
[INFO] [stderr] 153 |     let total_obs_len: usize = results.iter().map(|r| r.obs.len()).sum();
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_obs_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `total_targets_len`
[INFO] [stderr]    --> colver-core/src/tests/generate_belief_data.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |     let total_targets_len: usize = results.iter().map(|r| r.targets.len()).sum();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_targets_len`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `num_threads` is never read
[INFO] [stderr]   --> colver-core/src/tests/generate_belief_data.rs:65:30
[INFO] [stderr]    |
[INFO] [stderr] 65 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `colver-core` (bin "bid_tournament" test) generated 1 warning
[INFO] [stderr] warning: `colver-core` (bin "generate_belief_data" test) generated 5 warnings (run `cargo fix --bin "generate_belief_data" -p colver-core --tests` to apply 3 suggestions)
[INFO] [stderr] warning: variable `num_threads` is assigned to, but never used
[INFO] [stderr]   --> colver-core/src/tests/generate_game_data.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let mut num_threads: usize = 0;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_num_threads` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `num_threads` is never read
[INFO] [stderr]   --> colver-core/src/tests/generate_game_data.rs:45:30
[INFO] [stderr]    |
[INFO] [stderr] 45 |             "--threads" => { num_threads = args[i + 1].parse().unwrap(); i += 2; }
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `colver-core` (bin "generate_game_data" test) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/colver_core-a7d01d1eff1aabc1)
[INFO] [stdout] 
[INFO] [stdout] running 359 tests
[INFO] [stdout] test belief_net::tests::test_belief_to_weights_3class_biased ... ok
[INFO] [stdout] test belief_net::tests::test_belief_to_weights_3class_nonzero_observer ... ok
[INFO] [stdout] test belief_net::tests::test_belief_to_weights_3class_sum_to_one ... ok
[INFO] [stdout] test belief_net::tests::test_belief_to_weights_3class_uniform ... ok
[INFO] [stdout] test belief_net::tests::test_belief_to_weights_4class_legacy ... ok
[INFO] [stdout] test belief_net::tests::test_evaluate_output_shape ... ok
[INFO] [stdout] test belief_obs::tests::test_belief_obs_dim ... ok
[INFO] [stdout] test belief_net::tests::test_invalid_floats_len ... ok
[INFO] [stdout] test belief_net::tests::test_auto_detect_4class ... ok
[INFO] [stdout] test belief_obs::tests::test_dealer_relative_position ... ok
[INFO] [stdout] test bid_eval::tests::test_find_non_ace_suit ... ok
[INFO] [stdout] test bid_eval::tests::test_heuristic_bid_after_coinche_passes ... ok
[INFO] [stdout] test bid_eval::tests::test_heuristic_bid_bids_on_strong ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_partner_cap_130 ... ok
[INFO] [stdout] test bid_eval::tests::test_heuristic_bid_cant_overbid ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_coinche ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_never_above_120_opening ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_opens_on_strong ... ok
[INFO] [stdout] test bid_eval::tests::test_heuristic_bid_pass_on_weak ... ok
[INFO] [stdout] test belief_obs::tests::test_trick_progress_initial ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_overcall ... ok
[INFO] [stdout] test bid_eval::tests::test_legal_action_validation ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_passes_on_weak ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_aux_as_1st_position ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_petit_jeu_3rd_position ... ok
[INFO] [stdout] test belief_net::tests::test_auto_detect_3class ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_respond_aux_as_with_trumps ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_bid_opens_strong ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_4th_position_needs_100 ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_bid_passes_weak ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_quality_gate ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_intervention_overbids ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_no_quality_gate_without_j9 ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_response_jack_boost ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_opening_cap_120 ... ok
[INFO] [stdout] test belief_obs::tests::test_observer_independent_of_current_player ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_4th_position_iso ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_above_80_uses_petit_bide ... ok
[INFO] [stdout] test belief_obs::tests::test_with_offset ... ok
[INFO] [stdout] test belief_obs::tests::test_observation_during_play ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_response_zero_trumps_penalty ... ok
[INFO] [stdout] test belief_net::tests::test_from_floats_tiny ... ok
[INFO] [stdout] test bid_eval::tests::test_heuristic_bid_random_deals_complete ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_tricks_jack_only ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_tricks_side_ten_second ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_tricks_j9_3rd ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_after_coinche_passes ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_score_strong_hand ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_coinche_theoreme_3 ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_intervention_light ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_score_weak_hand ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_never_nine_3rd_ace_at_90 ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_no_coinche_above_110_for_4_trumps ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_100_j9_4th ... ok
[INFO] [stdout] test belief_obs::tests::test_write_belief_observation_length ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_coinche_j9 ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_100_j9_3rd_ace ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_partner_raise ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_90_jack_4th ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_110_not_in_2nd_position ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_90_nine_5th ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_80_aux_as ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_100_no_trump_penalty ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_100_aces ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_120_tricolore ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_highest_first ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_100_two_aces ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_110_master_tricks ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_80_walou_3rd_position ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_80_aux_as_change_color ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_80_aux_as_minimum_pass ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_80_aux_as_strong_support ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_80_aux_as_support ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_90_complement ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_90_complement_no_ace ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_90_complement_with_ace ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_respond_on_90_no_complement ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_weak_hand_passes ... ok
[INFO] [stdout] test bid_eval::tests::test_smart_bid_coinche ... ok
[INFO] [stdout] test bid_eval::tests::test_smart_bid_opening_j9 ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_4th_position_strong_only ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_80_aux_as_no_one_ace ... ok
[INFO] [stdout] test bid_eval::tests::test_smart_bid_partner_response ... ok
[INFO] [stdout] test bid_eval::tests::test_strong_hand_high_score ... ok
[INFO] [stdout] test bid_eval::tests::test_petit_bide_random_deals_complete ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_4th_position_bids_with_jack ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_4th_position_passes_low_score ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_4th_position_passes_marginal ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_coinche_j9_still_works ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_lead_bonus_tips_opening ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_coinche_theoreme3 ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_no_coinche_theoreme3_with_trumps ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_opening_cap_120 ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_passes_on_weak ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_opens_on_strong ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_respond_cap_130 ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_respond_jack_complement ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_110_first_position_only ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_respond_misfit ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_respond_nine_complement ... ok
[INFO] [stdout] test bid_eval::tests::test_weak_hand_low_score ... ok
[INFO] [stdout] test bid_net::tests::test_best_action ... ok
[INFO] [stdout] test bid_net::tests::test_dueling_tiny ... ok
[INFO] [stdout] test bid_net::tests::test_dueling_v_plus_a ... ok
[INFO] [stdout] test bid_net::tests::test_standard_tiny ... ok
[INFO] [stdout] test bid_obs::tests::test_auction_state_after_bid ... ok
[INFO] [stdout] test bid_obs::tests::test_auction_state_empty ... ok
[INFO] [stdout] test bid_obs::tests::test_bid_history_encoding ... ok
[INFO] [stdout] test bid_obs::tests::test_bid_mask ... ok
[INFO] [stdout] test bid_obs::tests::test_bid_obs_dim ... ok
[INFO] [stdout] test bid_obs::tests::test_hand_encoding ... ok
[INFO] [stdout] test bid_obs::tests::test_position_encoding ... ok
[INFO] [stdout] test bid_obs::tests::test_with_offset ... ok
[INFO] [stdout] test bid_obs::tests::test_write_bid_observation_length ... ok
[INFO] [stdout] test bid_train_env::tests::test_bid_replay_buffer ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_bid_random_deals_complete ... ok
[INFO] [stdout] test bid_eval::tests::test_moelleux_random_deals_complete ... ok
[INFO] [stdout] test bid_eval::tests::test_improved_bid_random_deals_complete ... ok
[INFO] [stdout] test bid_eval::tests::test_v2_random_deals_complete ... ok
[INFO] [stdout] test belief_obs::tests::test_hand_encoding ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_opening_90_jack_3rd_ace ... ok
[INFO] [stdout] test bidding::tests::test_coinche ... ok
[INFO] [stdout] test bidding::tests::test_after_coinche_no_more_bids ... ok
[INFO] [stdout] test bidding::tests::test_bid_then_three_passes ... ok
[INFO] [stdout] test bidding::tests::test_coinche_then_three_passes_ends ... ok
[INFO] [stdout] test bidding::tests::test_encode_decode_bid ... ok
[INFO] [stdout] test bidding::tests::test_four_passes_void ... ok
[INFO] [stdout] test bidding::tests::test_legal_bids_initial ... ok
[INFO] [stdout] test bidding::tests::test_overbid_required ... ok
[INFO] [stdout] test bidding::tests::test_surcoinche_ends_bidding ... ok
[INFO] [stdout] test card::tests::test_all_cards_count ... ok
[INFO] [stdout] test card::tests::test_card_basics ... ok
[INFO] [stdout] test card::tests::test_card_iter ... ok
[INFO] [stdout] test card::tests::test_card_to_bit ... ok
[INFO] [stdout] test card::tests::test_cards_in_suit ... ok
[INFO] [stdout] test card::tests::test_color_points_total ... ok
[INFO] [stdout] test card::tests::test_higher_trump_mask ... ok
[INFO] [stdout] test card::tests::test_highest_trump ... ok
[INFO] [stdout] test card::tests::test_overtrump_candidates ... ok
[INFO] [stdout] test card::tests::test_select_nth_card ... ok
[INFO] [stdout] test card::tests::test_suit_masks ... ok
[INFO] [stdout] test card_beliefs::tests::test_bid_inference_increases_trump_weight ... ignored
[INFO] [stdout] test card_beliefs::tests::test_initial_beliefs_observer_known ... ignored
[INFO] [stdout] test card_beliefs::tests::test_initial_beliefs_unknown_cards ... ignored
[INFO] [stdout] test card_beliefs::tests::test_mark_played_zeros_all ... ignored
[INFO] [stdout] test card_beliefs::tests::test_mark_void_zeros_suit ... ignored
[INFO] [stdout] test card_beliefs::tests::test_normalized_weights_sum_to_one ... ignored
[INFO] [stdout] test card_beliefs::tests::test_pass_decreases_trump_weight ... ignored
[INFO] [stdout] test card_beliefs::tests::test_play_marks_void ... ignored
[INFO] [stdout] test card_beliefs::tests::test_trump_ceiling ... ignored
[INFO] [stdout] test card_beliefs::tests::test_void_constraint_in_initial ... ignored
[INFO] [stdout] test cfn::tests::test_cfn_capot_contract ... ok
[INFO] [stdout] test card::tests::test_trump_strength_ordering ... ok
[INFO] [stdout] test cfn::tests::test_cfn_coinche_bidding_state ... ok
[INFO] [stdout] test cfn::tests::test_cfn_coinche_contract ... ok
[INFO] [stdout] test cfn::tests::test_cfn_display_fromstr ... ok
[INFO] [stdout] test cfn::tests::test_cfn_error_cases ... ok
[INFO] [stdout] test cfn::tests::test_cfn_mid_bidding ... ok
[INFO] [stdout] test bid_eval::tests::test_roro_intervention_barre ... ok
[INFO] [stdout] test cfn::tests::test_cfn_known_position ... ok
[INFO] [stdout] test cfn::tests::test_cfn_mid_play ... ok
[INFO] [stdout] test cfn::tests::test_cfn_playing_start ... ok
[INFO] [stdout] test cfn::tests::test_cfn_overlapping_cards ... ok
[INFO] [stdout] test cfn::tests::test_cfn_start_of_game ... ok
[INFO] [stdout] test cfn::tests::test_cfn_trick_history_stored ... ok
[INFO] [stdout] test cfn::tests::test_cfn_void_deal ... ok
[INFO] [stdout] test cfn::tests::test_format_card_specific ... ok
[INFO] [stdout] test cfn::tests::test_format_card_roundtrip ... ok
[INFO] [stdout] test cfn::tests::test_cfn_mid_game_roundtrip ... ok
[INFO] [stdout] test cfn::tests::test_cfn_complete_game_roundtrip ... ok
[INFO] [stdout] test cfn::tests::test_format_hand_roundtrip ... ok
[INFO] [stdout] test cfn::tests::test_parse_card_specific ... ok
[INFO] [stdout] test bid_train_env::tests::test_bid_training_env_new ... ok
[INFO] [stdout] test dd_bid::tests::test_points_to_bid_mapping ... ok
[INFO] [stdout] test determinize::tests::test_determinize_correct_card_counts ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_greedy ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_preserves_observer ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_respects_voids ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_weighted_bias ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_weighted_correct_counts ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_weighted_preserves_observer ... ignored
[INFO] [stdout] test determinize::tests::test_determinize_weighted_respects_voids ... ignored
[INFO] [stdout] test dmc_env::tests::test_training_env_new ... ok
[INFO] [stdout] test dmc_env::tests::test_training_env_play_to_completion ... ok
[INFO] [stdout] test dmc_env::tests::test_training_env_reset ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_bid_actions ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_bid_strategies ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_bid_strategies_per_team ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_new ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_nn_bid_fallback ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_play_through ... ok
[INFO] [stdout] test dmc_env::tests::test_vec_env_step_all ... ok
[INFO] [stdout] test dmc_net::tests::test_best_action ... ok
[INFO] [stdout] test dmc_net::tests::test_dmc_net_tiny ... ok
[INFO] [stdout] test dmc_net::tests::test_dueling_net_tiny ... ok
[INFO] [stdout] test dmc_net::tests::test_dueling_v_plus_a ... ok
[INFO] [stdout] test dmc_net::tests::test_layer_norm ... ok
[INFO] [stdout] test dmc_net::tests::test_layer_norm_with_params ... ok
[INFO] [stdout] test dmc_net::tests::test_linear ... ok
[INFO] [stdout] test dmc_net::tests::test_obs_dim_getter ... ok
[INFO] [stdout] test dmc_net::tests::test_real_model_zeros_obs ... ok
[INFO] [stdout] test dmc_net::tests::test_relu ... ok
[INFO] [stdout] test dmc_net::tests::test_standard_backward_compat ... ok
[INFO] [stdout] test dmc_obs::tests::test_encode_bid_history_bid ... ok
[INFO] [stdout] test dmc_obs::tests::test_encode_bid_history_pass ... ok
[INFO] [stdout] test dmc_obs::tests::test_env_tracking_reset ... ok
[INFO] [stdout] test dmc_obs::tests::test_make_observation_matches_write ... ok
[INFO] [stdout] test dmc_obs::tests::test_obs_dim_constant ... ok
[INFO] [stdout] test dmc_obs::tests::test_observation_matches_python ... ok
[INFO] [stdout] test dmc_obs::tests::test_write_mask ... ok
[INFO] [stdout] test dmc_obs::tests::test_write_observation_hand_bits ... ok
[INFO] [stdout] test dmc_obs::tests::test_write_observation_length ... ok
[INFO] [stdout] test dmc_obs::tests::test_write_observation_with_offset ... ok
[INFO] [stdout] test dmc_replay::tests::test_per_buffer_push_and_size ... ok
[INFO] [stdout] test dmc_replay::tests::test_per_buffer_push_batch ... ok
[INFO] [stdout] test dmc_replay::tests::test_per_buffer_sample ... ok
[INFO] [stdout] test dmc_replay::tests::test_per_buffer_update_priorities ... ok
[INFO] [stdout] test dmc_replay::tests::test_sum_tree_basic ... ok
[INFO] [stdout] test dmc_replay::tests::test_sum_tree_get ... ok
[INFO] [stdout] test dmc_replay::tests::test_sum_tree_update ... ok
[INFO] [stdout] test dmc_replay::tests::test_sum_tree_wraparound ... ok
[INFO] [stdout] test bid_train_env::tests::test_bid_training_env_void_deal ... ok
[INFO] [stdout] test game::tests::test_scripted_game ... ok
[INFO] [stdout] test game::tests::test_void_deal ... ok
[INFO] [stdout] test game_replay::tests::test_empty_file ... ok
[INFO] [stdout] test bid_train_env::tests::test_compute_scores_non_void ... ok
[INFO] [stdout] test game_replay::tests::test_extract_belief_samples ... ok
[INFO] [stdout] test game_replay::tests::test_extract_belief_samples_v2 ... ok
[INFO] [stdout] test game_replay::tests::test_replay_with_callback ... ok
[INFO] [stdout] test game_replay::tests::test_roundtrip_write_load ... ok
[INFO] [stdout] test is_dd::tests::test_is_dd_returns_legal_action ... ignored
[INFO] [stdout] test is_dd::tests::test_is_dd_reusable ... ignored
[INFO] [stdout] test is_dd::tests::test_is_dd_search_with_stats ... ignored
[INFO] [stdout] test is_dd::tests::test_is_dd_with_beliefs ... ignored
[INFO] [stdout] test is_dd::tests::test_is_dd_works_during_bidding ... ignored
[INFO] [stdout] test game_replay::tests::test_replay_produces_valid_states ... ok
[INFO] [stdout] test maxi::tests::test_classify_case_a_jack_ace ... ok
[INFO] [stdout] test maxi::tests::test_classify_case_b_jack_nine ... ok
[INFO] [stdout] test maxi::tests::test_classify_case_d_strong ... ok
[INFO] [stdout] test maxi::tests::test_coinche_j9 ... ok
[INFO] [stdout] test maxi::tests::test_maxi_play_always_legal ... ok
[INFO] [stdout] test game::tests::test_random_game_to_completion ... ok
[INFO] [stdout] test maxi::tests::test_response_80_void ... ok
[INFO] [stdout] test maxi::tests::test_response_80_with_jack ... ok
[INFO] [stdout] test mcts::tests::test_mcts_forced_move ... ignored
[INFO] [stdout] test mcts::tests::test_mcts_heuristic_play_policy ... ignored
[INFO] [stdout] test mcts::tests::test_mcts_returns_legal_action ... ignored
[INFO] [stdout] test mcts::tests::test_mcts_search_reusable ... ignored
[INFO] [stdout] test mcts::tests::test_mcts_works_during_bidding ... ignored
[INFO] [stdout] test mcts::tests::test_rave_amaf_filtered ... ignored
[INFO] [stdout] test mcts::tests::test_rave_returns_legal_action ... ignored
[INFO] [stdout] test mcts::tests::test_search_with_stats ... ignored
[INFO] [stdout] test naive_ismcts::tests::test_naive_ismcts_forced_move ... ignored
[INFO] [stdout] test naive_ismcts::tests::test_naive_ismcts_returns_legal_action ... ignored
[INFO] [stdout] test naive_ismcts::tests::test_naive_ismcts_reusable ... ignored
[INFO] [stdout] test naive_ismcts::tests::test_naive_ismcts_works_during_bidding ... ignored
[INFO] [stdout] test maxi::tests::test_maxi_bid_always_legal ... ok
[INFO] [stdout] test play::tests::test_full_trick_resolution ... ok
[INFO] [stdout] test play::tests::test_leader_plays_anything ... ok
[INFO] [stdout] test play::tests::test_must_cut_with_trump ... ok
[INFO] [stdout] test play::tests::test_must_follow_lead_suit ... ok
[INFO] [stdout] test play::tests::test_must_follow_suit ... ok
[INFO] [stdout] test play::tests::test_ne_pisse_pas ... ok
[INFO] [stdout] test play::tests::test_partner_master_can_discard ... ok
[INFO] [stdout] test play::tests::test_partner_master_no_cut_only_trump ... ok
[INFO] [stdout] test play::tests::test_rule4_partner_cut_only_trump_must_overtrump ... ok
[INFO] [stdout] test play::tests::test_rule4_partner_cut_with_non_trump_cards_can_discard ... ok
[INFO] [stdout] test play::tests::test_apply_play_basic ... ok
[INFO] [stdout] test rollout::tests::test_heuristic_play_completes ... ok
[INFO] [stdout] test rollout::tests::test_heuristic_beats_random ... ok
[INFO] [stdout] test rollout::tests::test_heuristic_play_legal ... ok
[INFO] [stdout] test rollout::tests::test_rollout_batch ... ok
[INFO] [stdout] test rollout::tests::test_rollout_preserves_original ... ok
[INFO] [stdout] test rollout::tests::test_rollout_random_completes ... ok
[INFO] [stdout] test rollout::tests::test_select_nth_bit ... ok
[INFO] [stdout] test scoring::tests::test_belote_saves_contract ... ok
[INFO] [stdout] test scoring::tests::test_belote_with_reussi ... ok
[INFO] [stdout] test scoring::tests::test_capot_chute ... ok
[INFO] [stdout] test scoring::tests::test_capot_chute_contre ... ok
[INFO] [stdout] test scoring::tests::test_capot_chute_surcontre ... ok
[INFO] [stdout] test scoring::tests::test_capot_chute_with_belote ... ok
[INFO] [stdout] test scoring::tests::test_capot_contre_reussi ... ok
[INFO] [stdout] test scoring::tests::test_capot_reussi ... ok
[INFO] [stdout] test scoring::tests::test_capot_reussi_with_defense_belote ... ok
[INFO] [stdout] test scoring::tests::test_capot_surcontre_reussi ... ok
[INFO] [stdout] test scoring::tests::test_chute_belote_goes_to_defense ... ok
[INFO] [stdout] test scoring::tests::test_contre_chute ... ok
[INFO] [stdout] test scoring::tests::test_contre_reussi ... ok
[INFO] [stdout] test scoring::tests::test_round10 ... ok
[INFO] [stdout] test bid_train_env::tests::test_bid_training_env_play_through ... ok
[INFO] [stdout] test scoring::tests::test_standard_reussi ... ok
[INFO] [stdout] test scoring::tests::test_surcontre_reussi ... ok
[INFO] [stdout] test single_tree_ismcts::tests::test_no_reuse_mode ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_returns_legal_action ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_reusable_across_deals ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_subtree_fallback ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_subtree_reuse ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_with_beliefs ... ignored
[INFO] [stdout] test single_tree_ismcts::tests::test_works_during_bidding ... ignored
[INFO] [stdout] test smart_ismcts::tests::test_smart_ismcts_returns_legal_action ... ignored
[INFO] [stdout] test smart_ismcts::tests::test_smart_ismcts_reusable ... ignored
[INFO] [stdout] test smart_ismcts::tests::test_smart_ismcts_with_beliefs ... ignored
[INFO] [stdout] test smart_ismcts::tests::test_smart_ismcts_works_during_bidding ... ignored
[INFO] [stdout] test solver::tests::test_between_bits ... ok
[INFO] [stdout] test solver::tests::test_card_equivalence_different_points ... ok
[INFO] [stdout] test maxi::tests::test_maxi_rollout_completes ... ok
[INFO] [stdout] test solver::tests::test_quick_tricks_top_trumps ... ok
[INFO] [stdout] test solver::tests::test_card_equivalence_plain ... ok
[INFO] [stdout] test scoring::tests::test_standard_chute ... ok
[INFO] [stdout] test rollout::tests::test_heuristic_play_with_rave_completes ... ok
[INFO] [stdout] test solver::tests::test_solve_mid_game ... ok
[INFO] [stdout] test solver::tests::test_solve_known_deal ... ok
[INFO] [stdout] test solver::tests::test_solve_all_trumps_capot ... ok
[INFO] [stdout] test solver::tests::test_solve_point_total_invariant ... ok
[INFO] [stdout] test solver::tests::test_solve_best_card ... ok
[INFO] [stdout] test solver::tests::test_solve_symmetry ... ok
[INFO] [stdout] test solver::tests::test_solve_with_scores_consistent_with_best_card ... ok
[INFO] [stdout] test solver::tests::test_solve_with_scores_tt_reuse ... ok
[INFO] [stdout] test solver::tests::test_tt_pack_unpack ... ok
[INFO] [stdout] test state::tests::test_contract_type ... ok
[INFO] [stdout] test state::tests::test_deal_random ... ok
[INFO] [stdout] test state::tests::test_new_state ... ok
[INFO] [stdout] test state::tests::test_partner ... ok
[INFO] [stdout] test state::tests::test_player_team ... ok
[INFO] [stdout] test state::tests::test_state_is_copy ... ok
[INFO] [stdout] test state::tests::test_state_size ... ok
[INFO] [stdout] test suit_perm::tests::test_all_24_perms_distinct ... ok
[INFO] [stdout] test suit_perm::tests::test_identity_perm_card_block ... ok
[INFO] [stdout] test suit_perm::tests::test_identity_v1_no_change ... ok
[INFO] [stdout] test suit_perm::tests::test_identity_v2_no_change ... ok
[INFO] [stdout] test suit_perm::tests::test_permute_mask ... ok
[INFO] [stdout] test suit_perm::tests::test_permute_mask_identity ... ok
[INFO] [stdout] test suit_perm::tests::test_permute_mask_roundtrip ... ok
[INFO] [stdout] test suit_perm::tests::test_permute_target ... ok
[INFO] [stdout] test suit_perm::tests::test_suit_onehot_perm ... ok
[INFO] [stdout] test suit_perm::tests::test_swap_roundtrip_card_block ... ok
[INFO] [stdout] test suit_perm::tests::test_v1_perm_preserves_non_suit_blocks ... ok
[INFO] [stdout] test suit_perm::tests::test_v2_perm_preserves_non_suit_blocks ... ok
[INFO] [stdout] test trick::tests::test_trick_points_color ... ok
[INFO] [stdout] test trick::tests::test_trick_winner_highest_trump ... ok
[INFO] [stdout] test trick::tests::test_trick_winner_non_lead_suit_loses ... ok
[INFO] [stdout] test trick::tests::test_trick_winner_plain ... ok
[INFO] [stdout] test trick::tests::test_trick_winner_trump_cuts ... ok
[INFO] [stdout] test trick::tests::test_trick_winner_trump_led ... ok
[INFO] [stdout] test dd_bid::tests::test_dd_bid_with_stats ... ok
[INFO] [stdout] test bid_train_env::tests::test_bid_training_env_reset ... ok
[INFO] [stdout] test bid_train_env::tests::test_dd_points_consistency has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_deal_pool_generate has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_deal_pool_save_load has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_from_deal_and_reset has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env_step has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env_with_pool has been running for over 60 seconds
[INFO] [stdout] test dd_bid::tests::test_dd_bid_all_positions has been running for over 60 seconds
[INFO] [stdout] test dd_bid::tests::test_dd_bid_full_game has been running for over 60 seconds
[INFO] [stdout] test dd_bid::tests::test_dd_bid_returns_legal_action has been running for over 60 seconds
[INFO] [stdout] test solver::tests::test_solve_random_deals_point_total has been running for over 60 seconds
[INFO] [stdout] test solver::tests::test_solve_reuse_tt_matches_solve has been running for over 60 seconds
[INFO] [stdout] test solver::tests::test_solve_with_scores_random_deals has been running for over 60 seconds
[INFO] [stdout] test bid_train_env::tests::test_from_deal_and_reset ... ok
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env ... ok
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env_with_pool ... ok
[INFO] [stdout] test bid_train_env::tests::test_deal_pool_generate ... ok
[INFO] [stdout] test bid_train_env::tests::test_deal_pool_save_load ... ok
[INFO] [stdout] test bid_train_env::tests::test_dd_points_consistency ... ok
[INFO] [stdout] test solver::tests::test_solve_reuse_tt_matches_solve ... ok
[INFO] [stdout] test solver::tests::test_solve_random_deals_point_total ... ok
[INFO] [stdout] test dd_bid::tests::test_dd_bid_full_game ... ok
[INFO] [stdout] test solver::tests::test_solve_with_scores_random_deals ... ok
[INFO] [stdout] test bid_train_env::tests::test_vec_bid_env_step ... ok
[INFO] [stdout] test dd_bid::tests::test_dd_bid_returns_legal_action ... ok
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "5e49718aa72a5cfe0071c039eb73cba2fb50c2ef1219c27b65d2f608c43051ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e49718aa72a5cfe0071c039eb73cba2fb50c2ef1219c27b65d2f608c43051ef", kill_on_drop: false }`
[INFO] [stdout] 5e49718aa72a5cfe0071c039eb73cba2fb50c2ef1219c27b65d2f608c43051ef
