[INFO] cloning repository https://github.com/dmytroleonenko/sudoku_rs_core [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dmytroleonenko/sudoku_rs_core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f7c65400931c1fe091e181ccf83af570e264b054 [INFO] testing dmytroleonenko/sudoku_rs_core against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmytroleonenko%2Fsudoku_rs_core" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/dmytroleonenko/sudoku_rs_core [INFO] finished tweaking git repo https://github.com/dmytroleonenko/sudoku_rs_core [INFO] tweaked toml for git repo https://github.com/dmytroleonenko/sudoku_rs_core written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dmytroleonenko/sudoku_rs_core on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dmytroleonenko/sudoku_rs_core 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318 [INFO] running `Command { std: "docker" "start" "-a" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318", kill_on_drop: false }` [INFO] [stdout] 07c2448c001f28091dc1bb7dddc0563321ad89aa2063bff365e2d3d55408a318 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494 [INFO] running `Command { std: "docker" "start" "-a" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling lexical-util v1.0.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling arrow-schema v53.4.1 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling lexical-parse-integer v1.0.6 [INFO] [stderr] Compiling lexical-write-integer v1.0.6 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling typenum v1.20.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling lexical-write-float v1.0.6 [INFO] [stderr] Compiling cc v1.2.61 [INFO] [stderr] Compiling flatbuffers v24.12.23 [INFO] [stderr] Compiling lexical-parse-float v1.0.6 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling lexical-core v1.0.6 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling libmimalloc-sys v0.1.47 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling integer-encoding v3.0.4 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling thrift v0.17.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling twox-hash v1.6.3 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling crossterm v0.25.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling tqdm v0.8.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling mimalloc v0.1.50 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling arrow-buffer v53.4.1 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling arrow-data v53.4.1 [INFO] [stderr] Compiling arrow-array v53.4.1 [INFO] [stderr] Compiling arrow-select v53.4.1 [INFO] [stderr] Compiling arrow-cast v53.4.1 [INFO] [stderr] Compiling arrow-ipc v53.4.1 [INFO] [stderr] Compiling parquet v53.4.1 [INFO] [stderr] Compiling sudoku_rs_core v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `CspLinkGraph` and `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [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 import: `GLabelTable` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:97:47 [INFO] [stdout] | [INFO] [stdout] 97 | glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkGraph` [INFO] [stdout] --> src/generic/techniques/braid.rs:90:32 [INFO] [stdout] | [INFO] [stdout] 90 | use super::super::csp_tables::{LinkGraph, W9}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gbraid.rs:115:46 [INFO] [stdout] | [INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `solve_unique` [INFO] [stdout] --> src/generic/aic_reverse.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | use super::search::{count_solutions_up_to, solve_unique}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `rayon` [INFO] [stdout] --> src/generic/rfc_reverse.rs:262:7 [INFO] [stdout] | [INFO] [stdout] 262 | #[cfg(feature = "rayon")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `rayon` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cspl` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:465:9 [INFO] [stdout] | [INFO] [stdout] 465 | let cspl = ctx.cspl; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | csp_set: &HashSet, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:821:29 [INFO] [stdout] | [INFO] [stdout] 821 | ... ctx: &ChainContext<'_>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:977:9 [INFO] [stdout] | [INFO] [stdout] 977 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:990:9 [INFO] [stdout] | [INFO] [stdout] 990 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nv` is never read [INFO] [stdout] --> src/generic/aic_reverse.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 151 | pub(crate) struct AicProbeScratch { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 172 | nv: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_any_aic_chain` is never used [INFO] [stdout] --> src/generic/aic_reverse.rs:482:15 [INFO] [stdout] | [INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `box_of` is never used [INFO] [stdout] --> src/shc/tridagon.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn box_of(idx: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `band_of_box` is never used [INFO] [stdout] --> src/shc/tridagon.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn band_of_box(b: usize) -> usize { b / 3 } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stack_of_box` is never used [INFO] [stdout] --> src/shc/tridagon.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn stack_of_box(b: usize) -> usize { b % 3 } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 25s [INFO] running `Command { std: "docker" "inspect" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494", kill_on_drop: false }` [INFO] [stdout] 6845b385fa6e86fd08e237fa1f2c7b3b99cf8cdf7260f47bc128286f908ef494 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153 [INFO] running `Command { std: "docker" "start" "-a" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }` [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling tqdm v0.8.0 [INFO] [stderr] Compiling arrow-array v53.4.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling arrow-select v53.4.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling arrow-cast v53.4.1 [INFO] [stderr] Compiling arrow-ipc v53.4.1 [INFO] [stderr] Compiling parquet v53.4.1 [INFO] [stderr] Compiling sudoku_rs_core v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `CspLinkGraph` and `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:95:32 [INFO] [stdout] | [INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [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 import: `GLabelTable` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:97:47 [INFO] [stdout] | [INFO] [stdout] 97 | glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkGraph` [INFO] [stdout] --> src/generic/techniques/braid.rs:90:32 [INFO] [stdout] | [INFO] [stdout] 90 | use super::super::csp_tables::{LinkGraph, W9}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gbraid.rs:115:46 [INFO] [stdout] | [INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `solve_unique` [INFO] [stdout] --> src/generic/aic_reverse.rs:51:44 [INFO] [stdout] | [INFO] [stdout] 51 | use super::search::{count_solutions_up_to, solve_unique}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `rayon` [INFO] [stdout] --> src/generic/rfc_reverse.rs:262:7 [INFO] [stdout] | [INFO] [stdout] 262 | #[cfg(feature = "rayon")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `rayon` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cspl` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:465:9 [INFO] [stdout] | [INFO] [stdout] 465 | let cspl = ctx.cspl; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | csp_set: &HashSet, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:821:29 [INFO] [stdout] | [INFO] [stdout] 821 | ... ctx: &ChainContext<'_>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:977:9 [INFO] [stdout] | [INFO] [stdout] 977 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:990:9 [INFO] [stdout] | [INFO] [stdout] 990 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nv` is never read [INFO] [stdout] --> src/generic/aic_reverse.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 151 | pub(crate) struct AicProbeScratch { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 172 | nv: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_any_aic_chain` is never used [INFO] [stdout] --> src/generic/aic_reverse.rs:482:15 [INFO] [stdout] | [INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `box_of` is never used [INFO] [stdout] --> src/shc/tridagon.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn box_of(idx: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `band_of_box` is never used [INFO] [stdout] --> src/shc/tridagon.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn band_of_box(b: usize) -> usize { b / 3 } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stack_of_box` is never used [INFO] [stdout] --> src/shc/tridagon.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn stack_of_box(b: usize) -> usize { b % 3 } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:95:46 [INFO] [stdout] | [INFO] [stdout] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [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 import: `super::super::resolution_state::ResolutionState` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | use super::super::resolution_state::ResolutionState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::resolution_state::ResolutionState` [INFO] [stdout] --> src/generic/techniques/braid.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | use super::super::resolution_state::ResolutionState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CspVarTable` [INFO] [stdout] --> src/generic/techniques/gbraid.rs:115:46 [INFO] [stdout] | [INFO] [stdout] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/generic/nested_fc_reverse.rs:944:9 [INFO] [stdout] | [INFO] [stdout] 944 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `rayon` [INFO] [stdout] --> src/generic/rfc_reverse.rs:262:7 [INFO] [stdout] | [INFO] [stdout] 262 | #[cfg(feature = "rayon")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `rayon` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::generic::rater::rate` [INFO] [stdout] --> src/generic/rfc_reverse.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | use crate::generic::rater::rate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RateError` [INFO] [stdout] --> src/shc/braid_engine_tests.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use super::wave::{rate_b, RateError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generic/techniques/whip.rs:801:13 [INFO] [stdout] | [INFO] [stdout] 801 | let mut grid = Grid::<9, 3, 3>::empty(); [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: unused variable: `cspl` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:465:9 [INFO] [stdout] | [INFO] [stdout] 465 | let cspl = ctx.cspl; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | csp_set: &HashSet, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:553:9 [INFO] [stdout] | [INFO] [stdout] 553 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:821:29 [INFO] [stdout] | [INFO] [stdout] 821 | ... ctx: &ChainContext<'_>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:817:13 [INFO] [stdout] | [INFO] [stdout] 817 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `glab` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:977:9 [INFO] [stdout] | [INFO] [stdout] 977 | let glab = ctx.glab; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `csp_set` [INFO] [stdout] --> src/generic/techniques/gwhip.rs:990:9 [INFO] [stdout] | [INFO] [stdout] 990 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lab` is never used [INFO] [stdout] --> src/generic/techniques/whip.rs:747:8 [INFO] [stdout] | [INFO] [stdout] 747 | fn lab(row: usize, col: usize, dbit: usize) -> Label { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nv` is never read [INFO] [stdout] --> src/generic/aic_reverse.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 151 | pub(crate) struct AicProbeScratch { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 172 | nv: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_any_aic_chain` is never used [INFO] [stdout] --> src/generic/aic_reverse.rs:482:15 [INFO] [stdout] | [INFO] [stdout] 482 | pub(crate) fn has_any_aic_chain( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_size_rejects_legacy_NxN_form` should have a snake case name [INFO] [stdout] --> src/pipeline_writer_generic.rs:671:8 [INFO] [stdout] | [INFO] [stdout] 671 | fn parse_size_rejects_legacy_NxN_form() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_size_rejects_legacy_nx_n_form` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 09s [INFO] running `Command { std: "docker" "inspect" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153", kill_on_drop: false }` [INFO] [stdout] fb58c2722c4c7cf87da1050eecbc0be90489d704b9c6fad1b556150284691153 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4 [INFO] running `Command { std: "docker" "start" "-a" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `CspLinkGraph` and `CspVarTable` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:95:32 [INFO] [stderr] | [INFO] [stderr] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `GLabelTable` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:97:47 [INFO] [stderr] | [INFO] [stderr] 97 | glabel_contains_none_of, label_in_glabel, GLabelTable, GLinkGraph, WG9, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::super::resolution_state::ResolutionState` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | use super::super::resolution_state::ResolutionState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `LinkGraph` [INFO] [stderr] --> src/generic/techniques/braid.rs:90:32 [INFO] [stderr] | [INFO] [stderr] 90 | use super::super::csp_tables::{LinkGraph, W9}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CspVarTable` [INFO] [stderr] --> src/generic/techniques/gbraid.rs:115:46 [INFO] [stderr] | [INFO] [stderr] 115 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `solve_unique` [INFO] [stderr] --> src/generic/aic_reverse.rs:51:44 [INFO] [stderr] | [INFO] [stderr] 51 | use super::search::{count_solutions_up_to, solve_unique}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `rayon` [INFO] [stderr] --> src/generic/rfc_reverse.rs:262:7 [INFO] [stderr] | [INFO] [stderr] 262 | #[cfg(feature = "rayon")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `rayon` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cspl` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | let cspl = ctx.cspl; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cspl` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `glab` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:466:9 [INFO] [stderr] | [INFO] [stderr] 466 | let glab = ctx.glab; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `csp_set` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:545:5 [INFO] [stderr] | [INFO] [stderr] 545 | csp_set: &HashSet, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `glab` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:553:9 [INFO] [stderr] | [INFO] [stderr] 553 | let glab = ctx.glab; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `csp_set` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:656:13 [INFO] [stderr] | [INFO] [stderr] 656 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:821:29 [INFO] [stderr] | [INFO] [stderr] 821 | ... ctx: &ChainContext<'_>, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `csp_set` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:817:13 [INFO] [stderr] | [INFO] [stderr] 817 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `glab` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:977:9 [INFO] [stderr] | [INFO] [stderr] 977 | let glab = ctx.glab; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_glab` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `csp_set` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:990:9 [INFO] [stderr] | [INFO] [stderr] 990 | let csp_set: HashSet = chain.csp_vars.iter().copied().collect(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_csp_set` [INFO] [stderr] [INFO] [stderr] warning: field `nv` is never read [INFO] [stderr] --> src/generic/aic_reverse.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub(crate) struct AicProbeScratch { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 172 | nv: usize, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `has_any_aic_chain` is never used [INFO] [stderr] --> src/generic/aic_reverse.rs:482:15 [INFO] [stderr] | [INFO] [stderr] 482 | pub(crate) fn has_any_aic_chain( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `box_of` is never used [INFO] [stderr] --> src/shc/tridagon.rs:67:4 [INFO] [stderr] | [INFO] [stderr] 67 | fn box_of(idx: usize) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `band_of_box` is never used [INFO] [stderr] --> src/shc/tridagon.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | fn band_of_box(b: usize) -> usize { b / 3 } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `stack_of_box` is never used [INFO] [stderr] --> src/shc/tridagon.rs:74:4 [INFO] [stderr] | [INFO] [stderr] 74 | fn stack_of_box(b: usize) -> usize { b % 3 } [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `sudoku_rs_core` (lib) generated 21 warnings (run `cargo fix --lib -p sudoku_rs_core` to apply 15 suggestions) [INFO] [stderr] warning: unused import: `CspVarTable` [INFO] [stderr] --> src/generic/techniques/gwhip.rs:95:46 [INFO] [stderr] | [INFO] [stderr] 95 | use super::super::csp_tables::{CspLinkGraph, CspVarTable, LinkGraph, W9}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::super::resolution_state::ResolutionState` [INFO] [stderr] --> src/generic/techniques/braid.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | use super::super::resolution_state::ResolutionState; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/generic/nested_fc_reverse.rs:944:9 [INFO] [stderr] | [INFO] [stderr] 944 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::generic::rater::rate` [INFO] [stderr] --> src/generic/rfc_reverse.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | use crate::generic::rater::rate; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `RateError` [INFO] [stderr] --> src/shc/braid_engine_tests.rs:8:27 [INFO] [stderr] | [INFO] [stderr] 8 | use super::wave::{rate_b, RateError}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/generic/techniques/whip.rs:801:13 [INFO] [stderr] | [INFO] [stderr] 801 | let mut grid = Grid::<9, 3, 3>::empty(); [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: function `lab` is never used [INFO] [stderr] --> src/generic/techniques/whip.rs:747:8 [INFO] [stderr] | [INFO] [stderr] 747 | fn lab(row: usize, col: usize, dbit: usize) -> Label { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `nv` is never read [INFO] [stderr] --> src/generic/aic_reverse.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub(crate) struct AicProbeScratch { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 172 | nv: usize, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: function `parse_size_rejects_legacy_NxN_form` should have a snake case name [INFO] [stderr] --> src/pipeline_writer_generic.rs:671:8 [INFO] [stderr] | [INFO] [stderr] 671 | fn parse_size_rejects_legacy_NxN_form() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_size_rejects_legacy_nx_n_form` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `sudoku_rs_core` (lib test) generated 22 warnings (13 duplicates) (run `cargo fix --lib -p sudoku_rs_core --tests` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sudoku_rs_core-df8b786dabf1a733) [INFO] [stdout] [INFO] [stdout] running 488 tests [INFO] [stdout] test bitboard::tests::peers_count ... ok [INFO] [stdout] test generic::aic_reverse::tests::aic_unsoundness_regression_a05085 ... ok [INFO] [stdout] test bitboard::tests::units_cover ... ok [INFO] [stdout] test generic::aic_reverse::tests::scratch_reuse_matches_fresh_baseline_9x9 ... ok [INFO] [stdout] test generic::aic_reverse::tests::validate_t1_t2_rejected ... ok [INFO] [stdout] test generic::aic_reverse::tests::validate_zero_chain_length_rejected ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::als_xz_dryrun_mirrors_production ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::als_xz_rejects_overlap_cells ... ok [INFO] [stdout] test generic::aic_reverse::tests::scratch_reuse_matches_fresh_baseline_16x16 ... ok [INFO] [stdout] test generic::aic_reverse::tests::smoke_16x16_terminates ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::smoke_9x9_als_xz ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::validate_rejects_bad_specs ... ok [INFO] [stdout] test generic::backtracker::tests::solve_12x12_via_singles ... ok [INFO] [stdout] test generic::backtracker::tests::solve_16x16_via_singles ... ok [INFO] [stdout] test generic::backtracker::tests::solve_6x6_via_singles_or_search ... ok [INFO] [stdout] test generic::backtracker::tests::solve_easy_9x9_via_singles ... ok [INFO] [stdout] test generic::bitboard::tests::for_each_ascending ... ok [INFO] [stdout] test generic::bitboard::tests::set_test_clear_popcount ... ok [INFO] [stdout] test generic::canonical::tests::bench_canonical_1000_grids ... ignored [INFO] [stdout] test generic::canonical::tests::canonical_distinct_grids_distinct ... ok [INFO] [stdout] test generic::canonical::tests::canonical_hash_distinct_grids ... ok [INFO] [stdout] test generic::canonical::tests::canonical_idempotent ... ok [INFO] [stdout] test generic::canonical::tests::canonical_partial_grid_stable ... ok [INFO] [stdout] test generic::canonical::tests::canonical_relabeled_digit_collapses ... ok [INFO] [stdout] test generic::canonical::tests::canonical_transpose_collapses ... ok [INFO] [stdout] test generic::cfc_reverse::tests::accepts_only_k_ge_3 ... ok [INFO] [stdout] test generic::cfc_reverse::tests::accepts_only_load_bearing_cfc ... ok [INFO] [stdout] test generic::aic_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::smoke_16x16_als_xz ... ok [INFO] [stdout] test generic::aic_reverse::tests::hit_rate_9x9_chain5_slack2_no_load_bearing ... ok [INFO] [stdout] test generic::cfc_reverse::tests::spec_validation ... ok [INFO] [stdout] test generic::chain_model::tests::braid_dedup_is_set_not_positional ... ok [INFO] [stdout] test generic::chain_model::tests::chain_clone_round_trip ... ok [INFO] [stdout] test generic::chain_model::tests::cross_type_dedup_whip_braid_same_key ... ok [INFO] [stdout] test generic::chain_model::tests::cross_type_dedup_whip_gwhip_different_keys ... ok [INFO] [stdout] test generic::chain_model::tests::last_rlc_returns_correct_variant ... ok [INFO] [stdout] test generic::chain_model::tests::whip_braid_same_rlcs_different_keys ... ok [INFO] [stdout] test generic::chain_model::tests::whip_dedup_is_positional_not_set ... ok [INFO] [stdout] test generic::chain_rating::tests::test_chain_rating_to_se_monotonicity ... ok [INFO] [stdout] test generic::chain_rating::tests::test_fixture1_solved_by_singles ... ok [INFO] [stdout] test generic::chain_rating::tests::test_k_max_zero_returns_none ... ok [INFO] [stdout] test generic::chain_rating::tests::test_none_on_solved_grid ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_csp_alternatives_count ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_csp_var_count_is_324 ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_each_csp_var_has_9_labels ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_label_belongs_to_4_vars ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_row_peers_are_linked ... ok [INFO] [stdout] test generic::csp_tables::tests::n9_same_cell_different_digits_linked ... ok [INFO] [stdout] test generic::cfc_reverse::tests::constructs_at_least_one_puzzle ... ok [INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_with_real_seeds ... ok [INFO] [stdout] test generic::dfc_reverse::tests::batch_smoke_no_panic ... ok [INFO] [stdout] test generic::dfc_reverse::tests::default_spec_terminates ... ok [INFO] [stdout] test generic::dfc_reverse::tests::mutates_then_rates ... ok [INFO] [stdout] test generic::dfc_reverse::tests::seed_pool_loading_inline ... ok [INFO] [stdout] test generic::dfc_reverse::tests::seed_pool_loading_missing_file ... ok [INFO] [stdout] test generic::cfc_reverse::tests::emitted_puzzle_unique_solution ... ok [INFO] [stdout] test generic::cfc_reverse::tests::emitted_puzzle_rates_se_ge_8 ... ok [INFO] [stdout] test generic::fish_reverse::tests::find_first_fish_size_deterministic ... ok [INFO] [stdout] test generic::aic_reverse::tests::returned_puzzle_solves_to_solution ... ok [INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_swordfish_9x9 ... ok [INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_jellyfish_16x16 ... ok [INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_mirrors_production_xwing_9x9 ... ok [INFO] [stdout] test generic::fish_reverse::tests::fish_dryrun_rejects_pseudo_fish_9x9 ... ok [INFO] [stdout] test generic::aic_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::als_xz_reverse::tests::load_bearing_strict_semantics ... ok [INFO] [stdout] test generic::fish_reverse::tests::smoke_16x16_x_wing ... ok [INFO] [stdout] test generic::fish_reverse::tests::returned_puzzle_solves_to_solution ... ok [INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_jellyfish ... ok [INFO] [stdout] test generic::fish_reverse::tests::validate_rejects_invalid_size ... ok [INFO] [stdout] test generic::gbraid_reverse::tests::batch_terminates_and_bounded ... ignored, CR-FIN-10 Mn-2: gBraid[3] batch construction expensive; run with --ignored batch_terminates_and_bounded [INFO] [stdout] test generic::gbraid_reverse::tests::determinism_same_seed ... ignored, CR-FIN-10 Mn-2: gBraid[3] end-to-end determinism slow; run with --ignored determinism_same_seed [INFO] [stdout] test generic::gbraid_reverse::tests::fixture7_gb29_smoke ... ignored, TODO: gB[29] search runtime >> 10s; un-ignore with pruned gbraid solver. Spec §12 Fixture 7. [INFO] [stdout] test generic::gbraid_reverse::tests::gbraid_excludes_gwhip_functional ... ignored, CR-FIN-11 Mn-3: GBraid[3] reverse construction is expensive; run with --ignored gbraid_excludes_gwhip_functional [INFO] [stdout] test generic::gbraid_reverse::tests::gbraid_excludes_gwhip_structural ... ok [INFO] [stdout] test generic::gbraid_reverse::tests::load_bearing_only_returns_gb_rated_puzzles ... ignored, CR-FIN-10 Mn-2: gBraid[3] load-bearing search expensive; run with --ignored load_bearing_only_returns_gb_rated_puzzles [INFO] [stdout] test generic::gbraid_reverse::tests::smoke_low_k_gbraid_fires ... ignored, CR-FIN-10 Mn-2: gBraid[3] smoke search expensive; run with --ignored smoke_low_k_gbraid_fires [INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_inverted_clue_band ... ok [INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_target_k_above_max ... ok [INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_target_k_below_floor ... ok [INFO] [stdout] test generic::gbraid_reverse::tests::validate_rejects_zero_target_k ... ok [INFO] [stdout] test generic::generator::tests::determinism_same_seed_same_puzzle_6x6 ... ok [INFO] [stdout] test generic::generator::tests::determinism_same_seed_same_puzzle_9x9 ... ok [INFO] [stdout] test generic::generator::tests::random_solution_16x16_is_valid ... ok [INFO] [stdout] test generic::generator::tests::random_solution_is_valid ... ok [INFO] [stdout] test generic::generator::tests::smoke_12x12 ... ok [INFO] [stdout] test generic::fish_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::generator::tests::smoke_6x6 ... ok [INFO] [stdout] test generic::generator::tests::smoke_9x9 ... ok [INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_x_wing ... ok [INFO] [stdout] test generic::generator::tests::smoke_16x16 ... ok [INFO] [stdout] test generic::fish_reverse::tests::smoke_9x9_swordfish ... ok [INFO] [stdout] test generic::generator_constrained::tests::t1_6x6_50_puzzles ... ok [INFO] [stdout] test generic::fish_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::aic_reverse::tests::hit_rate_9x9_chain7_load_bearing ... ok [INFO] [stdout] test generic::generator_constrained::tests::t1_generator_distribution_not_constant ... ok [INFO] [stdout] test generic::generator_constrained::tests::t1_9x9_100_puzzles ... ok [INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_invariant has been running for over 60 seconds [INFO] [stdout] test generic::fish_reverse::tests::load_bearing_strict_semantics_xwing_9x9 has been running for over 60 seconds [INFO] [stdout] test generic::generator_constrained::tests::t1_12x12_50_puzzles ... ok [INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_none_of_basic ... ok [INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_some_of_basic ... ok [INFO] [stdout] test generic::glabel_tables::tests::glabel_contains_some_of_gcand_overlap ... ok [INFO] [stdout] test generic::glabel_tables::tests::horiz_glabel_csp_vars ... ok [INFO] [stdout] test generic::glabel_tables::tests::label_in_glabel_basic ... ok [INFO] [stdout] test generic::glabel_tables::tests::n9_glabel_count_is_486 ... ok [INFO] [stdout] test generic::glabel_tables::tests::n9_glabel_member_count ... ok [INFO] [stdout] test generic::fish_reverse::tests::load_bearing_strict_semantics_xwing_9x9 ... ok [INFO] [stdout] test generic::grid::tests::assign_contradiction_in_row ... ok [INFO] [stdout] test generic::grid::tests::assign_propagates_9x9 ... ok [INFO] [stdout] test generic::grid::tests::empty_12x12_full_mask ... ok [INFO] [stdout] test generic::grid::tests::empty_16x16_full_mask ... ok [INFO] [stdout] test generic::grid::tests::empty_6x6_full_mask ... ok [INFO] [stdout] test generic::glabel_tables::tests::segment_kind_correctness ... ok [INFO] [stdout] test generic::grid::tests::empty_9x9_has_full_masks ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::hidden_quad_dryrun_mirrors_production ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::hidden_quad_rejects_pseudo_quad ... ok [INFO] [stdout] test generic::generator_constrained::tests::load_bearing_t3_aic_drops_when_excluded has been running for over 60 seconds [INFO] [stdout] test generic::generator_constrained::tests::t1_16x16_50_puzzles has been running for over 60 seconds [INFO] [stdout] test generic::hidden_quad_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::smoke_12x12_hidden_quad ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::smoke_9x9_hidden_quad ... ok [INFO] [stdout] test generic::hidden_quad_reverse::tests::validate_rejects_bad_specs ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::generator_constrained::tests::t2_9x9_100_puzzles has been running for over 60 seconds [INFO] [stdout] test generic::generator_constrained::tests::t3_9x9_100_puzzles has been running for over 60 seconds [INFO] [stdout] test generic::naked_quad_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::generator_constrained::tests::t2_9x9_100_puzzles ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::naked_quad_dryrun_mirrors_production ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::naked_quad_rejects_pseudo_quad ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::smoke_12x12_naked_quad ... ok [INFO] [stdout] test generic::generator_constrained::tests::t4plus_9x9_100_puzzles has been running for over 60 seconds [INFO] [stdout] test generic::hidden_quad_reverse::tests::load_bearing_strict_semantics ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::validate_rejects_bad_specs ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::smoke_9x9_naked_quad ... ok [INFO] [stdout] test generic::generator_constrained::tests::t3_9x9_100_puzzles ... ok [INFO] [stdout] test generic::naked_quad_reverse::tests::load_bearing_strict_semantics ... ok [INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_terminates_on_trivial_puzzle ... ok [INFO] [stdout] test generic::nested_aic_reverse::tests::technique_sets_are_disjoint ... ok [INFO] [stdout] test generic::nested_fc_reverse::bench::bench_rate_throughput ... ignored [INFO] [stdout] test generic::nested_fc_reverse::tests::batch_returns_empty_without_seed_path ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l2_puzzle ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l3_puzzle ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::constructs_l4_puzzle ... ignored [INFO] [stdout] test generic::nested_aic_reverse::tests::batch_smoke has been running for over 60 seconds [INFO] [stdout] test generic::nested_aic_reverse::tests::construct_smoke has been running for over 60 seconds [INFO] [stdout] test generic::nested_fc_reverse::tests::emitted_puzzle_unique_solution ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::level_strict_l2_rejects_l3_se_puzzle ... ignored [INFO] [stdout] test generic::nested_fc_reverse::tests::load_seed_puzzles_missing_file ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::mutate_1_changes_exactly_one_cell ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::mutate_2_changes_exactly_two_cells ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::se_bucket_upper_bounds ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::technique_id_mapping ... ok [INFO] [stdout] test generic::nested_fc_reverse::tests::wall_time_budget_expired_returns_empty ... ok [INFO] [stdout] test generic::peer_tables::tests::box_count_each_size ... ok [INFO] [stdout] test generic::peer_tables::tests::cache_returns_same_arc ... ok [INFO] [stdout] test generic::peer_tables::tests::peer_count_12x12 ... ok [INFO] [stdout] test generic::peer_tables::tests::peer_count_16x16 ... ok [INFO] [stdout] test generic::peer_tables::tests::peer_count_6x6 ... ok [INFO] [stdout] test generic::peer_tables::tests::peer_count_9x9 ... ok [INFO] [stdout] test generic::rater::tests::chain_technique_exclusion_inert_on_t1 ... ok [INFO] [stdout] test generic::rater::tests::chain_techniques_do_not_reclassify_easy_puzzles ... ok [INFO] [stdout] test generic::rater::tests::load_bearing_9x9_t3_drops_when_excluded ... ok [INFO] [stdout] test generic::rater::tests::mode_full_matches_rate_default ... ok [INFO] [stdout] test generic::rater::tests::mode_solve_easy_returns_t1_solved_no_frontier ... ok [INFO] [stdout] test generic::rater::tests::mode_solve_inconsistent_input_flags_error ... ok [INFO] [stdout] test generic::rater::tests::mode_tier_skips_uniqueness_double_solve ... ok [INFO] [stdout] test generic::rater::tests::rate_excluding_inert_exclusion_matches_rate ... ok [INFO] [stdout] test generic::rater::tests::solver_mode_parse ... ok [INFO] [stdout] test generic::rater::tests::t1_12x12_singles_only ... ok [INFO] [stdout] test generic::rater::tests::t1_16x16_singles_only ... ok [INFO] [stdout] test generic::rater::tests::t1_6x6_singles_only ... ok [INFO] [stdout] test generic::rater::tests::t1_9x9_easy_singles ... ok [INFO] [stdout] test generic::rater::tests::t2_9x9_requires_locked_or_pair ... ok [INFO] [stdout] test generic::dfc_reverse::tests::accepts_only_dfc_top_invariant ... ok [INFO] [stdout] test generic::rater::tests::t3_9x9_requires_t3_tech ... ok [INFO] [stdout] test generic::rater::tests::t4plus_6x6_empty_grid ... ok [INFO] [stdout] test generic::rater::tests::t4plus_16x16_empty_grid ... ok [INFO] [stdout] test generic::rater::tests::t4plus_9x9_inconsistent_input ... ok [INFO] [stdout] test generic::resolution_state::tests::eliminate_is_idempotent ... ok [INFO] [stdout] test generic::resolution_state::tests::eliminate_kills_glabel_when_support_drops_below_2 ... ok [INFO] [stdout] test generic::resolution_state::tests::eliminate_removes_from_cand_alive ... ok [INFO] [stdout] test generic::resolution_state::tests::g_cand_alive_reflects_g_alive ... ok [INFO] [stdout] test generic::reverse_construct::tests::als_xz_on_6x6_terminates_with_none_or_some ... ok [INFO] [stdout] test generic::reverse_construct::tests::batch_determinism_same_seed_same_multiset_single_thread ... ok [INFO] [stdout] test generic::reverse_construct::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::rater::tests::t4plus_9x9_empty_grid_stuck ... ok [INFO] [stdout] test generic::reverse_construct::tests::excluded_technique_not_in_frontier ... ok [INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_blocks_short_aic_bypass has been running for over 60 seconds [INFO] [stdout] test generic::reverse_construct::tests::frontier_match_multiple_required ... ok [INFO] [stdout] test generic::reverse_construct::tests::no_required_t1_succeeds_easily ... ok [INFO] [stdout] test generic::reverse_construct::tests::parse_technique_id_covers_all_16 ... ok [INFO] [stdout] test generic::nested_aic_reverse::tests::batch_smoke ... ok [INFO] [stdout] test generic::nested_aic_reverse::tests::construct_smoke ... ok [INFO] [stdout] test generic::reverse_construct::tests::r15_at_least_k2_each_frontier_has_two ... ok [INFO] [stdout] test generic::reverse_construct::tests::r15_any_of_each_frontier_has_at_least_one ... ok [INFO] [stdout] test generic::reverse_construct::tests::r15_batch_mix_zero_weights_rejected ... ok [INFO] [stdout] test generic::reverse_construct::tests::r15_match_mode_validate_exact_k_overflow ... ok [INFO] [stdout] test generic::reverse_construct::tests::load_bearing_drops_tier_when_required_excluded has been running for over 60 seconds [INFO] [stdout] test generic::reverse_construct::tests::per_tech_smoke_9x9_terminates_within_budget has been running for over 60 seconds [INFO] [stdout] test generic::reverse_construct::tests::r15_batch_mix_spec_parses_and_dispatches ... ok [INFO] [stdout] test generic::reverse_construct::tests::validate_required_excluded_disjoint ... ok [INFO] [stdout] test generic::reverse_construct::tests::validate_t1_with_required_is_rejected ... ok [INFO] [stdout] test generic::reverse_construct::tests::r15_weighted_emits_and_contract_holds ... ok [INFO] [stdout] test generic::rfc_reverse::tests::constructs_at_least_one_puzzle ... ignored, slow: 50k attempts needed in debug mode; run with --ignored [INFO] [stdout] test generic::rfc_reverse::tests::accepts_only_load_bearing_rfc has been running for over 60 seconds [INFO] [stdout] test generic::rfc_reverse::tests::constructs_at_least_one_puzzle_fast ... ok [INFO] [stdout] test generic::rfc_reverse::tests::accepts_only_load_bearing_rfc ... ok [INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_unique_solution ... ok [INFO] [stdout] test generic::rfc_reverse::tests::rfc_reverse_spec_is_valid ... ok [INFO] [stdout] test generic::search::tests::count_solutions_easy_9x9_unique ... ok [INFO] [stdout] test generic::search::tests::count_solutions_empty_short_circuits ... ok [INFO] [stdout] test generic::search::tests::count_solutions_unique_easy_9x9 ... ok [INFO] [stdout] test generic::search::tests::count_solutions_zero_limit ... ok [INFO] [stdout] test generic::search::tests::search_random_completes_empty_12x12 ... ok [INFO] [stdout] test generic::search::tests::search_random_completes_empty_16x16 ... ok [INFO] [stdout] test generic::search::tests::search_random_completes_empty_6x6 ... ok [INFO] [stdout] test generic::search::tests::search_random_completes_empty_9x9 ... ok [INFO] [stdout] test generic::search::tests::solve_unique_none_for_empty ... ok [INFO] [stdout] test generic::spec::tests::matches_clue_band ... ok [INFO] [stdout] test generic::spec::tests::matches_exact_tier_no_techs ... ok [INFO] [stdout] test generic::spec::tests::matches_required_techs ... ok [INFO] [stdout] test generic::spec::tests::rater_error_never_matches ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_bfs_dedup_preserves_xy_path ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_finds_xy_wing_9x9 ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_idempotent_after_fire ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_no_panic_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_no_unsound_type2_9x9 ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_x_chain_not_xy_chain ... ok [INFO] [stdout] test generic::techniques::aic::tests::aic_xy_wing_16x16 ... ok [INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_no_contradiction_on_constructive_smoke ... ok [INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_no_fire_on_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_xy_wing_16x16 ... ok [INFO] [stdout] test generic::techniques::als_xz::tests::als_xz_xy_wing_pattern_9x9 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid1_direct_parity_with_whip1 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid2_termination_fixture2 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid3_termination_fixture3 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid5_fixture4_no_panic ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid_allows_llc_reuse ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid_dedup_is_multiset ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_braid_scratch_reset ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin12_m1_braid_scorer_excludes_w_and_gw ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin12_m1_suppressor_is_subset_of_whip_only ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_find_first_braid_smoke_fixture2 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_terminate_braid_accepts_partial_braid ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin6_c1_terminate_braid_rejects_partial_whip - should panic ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin7_c1_find_first_braid_floor_at_3 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_crfin7_c1_run_braid_pass_floor_at_3 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_f2_braid_scratch_has_whip_buffers ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_f2_run_braid_pass_seeds_whip_crossfeed ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_fx5_no_duplicate_eliminations_from_crossfeed ... ok [INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_rates_se_ge_7_6 has been running for over 60 seconds [INFO] [stdout] test generic::rfc_reverse::tests::emitted_puzzle_rates_se_ge_7_6 ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_fxr1_braid_pure_link_check ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_fxr5_fixture2_braid1_known_answer ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_k_max_bound ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_no_false_positive_solved ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_partial_braid1_seed_structure ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_run_braid_pass_smoke ... ok [INFO] [stdout] test generic::techniques::bug::tests::bug_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::bug::tests::bug_no_fire_solved_9x9 ... ok [INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_12x12 ... ok [INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_16x16 ... ok [INFO] [stdout] test generic::techniques::bug::tests::bug_smoke_6x6 ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_does_not_fire_on_easy_puzzle ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_fires_on_synthetic_example ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::cell_fc_skips_high_candidate_cells ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::contradiction_subcase_eliminates_candidate ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::k2_path_uses_singles_only_propagator_regression ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::k2_pivot_y_chain_fires_at_6_6 ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::k2_singles_only_config_differs_from_full ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::k3_pivot_still_rates_8_0 ... ok [INFO] [stdout] test generic::techniques::cell_fc::tests::rated_technique_base_rating ... ok [INFO] [stdout] test generic::techniques::chain_rated::tests::all_arms_excluded_returns_none ... ok [INFO] [stdout] test generic::techniques::chain_rated::tests::chain_rater_k_max_is_spec_capped ... ok [INFO] [stdout] test generic::techniques::chain_rated::tests::rate_excluding_gbraid_skips_chain ... ok [INFO] [stdout] test generic::techniques::chain_rated::tests::with_excluded_gbraid_masks_driver ... ok [INFO] [stdout] test generic::techniques::chaining_propagator::tests::cascades_to_fixpoint ... ok [INFO] [stdout] test generic::techniques::chaining_propagator::tests::contradiction_detected ... ok [INFO] [stdout] test generic::techniques::chaining_propagator::tests::propagates_via_locked_pointing ... ok [INFO] [stdout] test generic::techniques::chaining_propagator::tests::propagates_via_naked_pair ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_chain_len_set ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_contradiction_subcase ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_does_not_fire_on_easy ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_no_op_on_solved_grid ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_rated_technique_base_rating ... ok [INFO] [stdout] test generic::techniques::dynamic_fc::tests::dynamic_fc_tier_and_id ... ok [INFO] [stdout] test generic::techniques::fish::tests::jellyfish_fires_16x16 ... ok [INFO] [stdout] test generic::techniques::fish::tests::jellyfish_returns_none_on_6x6_no_pattern_possible ... ok [INFO] [stdout] test generic::techniques::fish::tests::swordfish_fires_9x9 ... ok [INFO] [stdout] test generic::techniques::fish::tests::xwing_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::fish::tests::xwing_fires_9x9 ... ok [INFO] [stdout] test generic::techniques::fish::tests::xwing_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_c3_full_history_rejects ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_find_first_gbraid_no_gwhip_fire_on_empty ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_accepts_partial_gbraid ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_rejects_partial_braid - should panic ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin6_c2_terminate_gbraid_rejects_partial_gwhip - should panic ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin7_c2_find_first_gbraid_floor_at_3 ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_crfin7_c2_run_gbraid_pass_floor_at_3 ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_f3_gbraid_seeds_gwhip_crossfeed ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_f4_extend_plain_braids_full_history_csp ... ok [INFO] [stdout] test generic::techniques::braid::tests::test_fx6_braid_no_stale_partials ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fx2_gbraid_scratch_has_whip_fields ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_find_first_gbraid_fixture2_no_panic ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr1_gbraid_pure_glink_check ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr2_partial_gwhip_gbraid_cross_type_dedup ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr3_gbraid_pass_uses_whip_prev_for_gwhip_extension ... ignored, TODO FX-R3 §12 Fixture: needs propagate_singles integration to construct a chain requiring partial-whip→partial-gwhip→partial-gbraid path; §12 Fixture row to be added when integration lands [INFO] [stdout] test generic::techniques::gbraid::tests::test_fx3_terminate_gbraid_no_gcand_member_rejection ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr6_find_first_gbraid_gwhip_whip_ordering ... ok [INFO] [stdout] test generic::reverse_construct::tests::load_bearing_drops_tier_when_required_excluded ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr8_m7_secondary_no_subset_keeps_both ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid1_direct_no_panic ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid_allows_llc_reuse ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_gbraid_dedup_is_set_based ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_k_max_0_returns_none ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_m7_strongest_guard ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_no_false_positive_solved ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_partial_gbraid1_seed_structure ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_run_gbraid_pass_smoke ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_scratch_reset ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_sub_rule_1_fires ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_sub_rule_2_fires ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_f5_gwhip_seed_dedup_after_semantic_check ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_f6_gwhip_sub_rule_2_no_overrestriction ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_find_first_gwhip_kmax_lt2 ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_dedup_positional ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_llc_no_reuse ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_gwhip_scratch_reset ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_no_false_positive_solved_grid ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_partial_gwhip1_llc_linked_to_target ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_partial_gwhip1_seed_has_gcand ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_run_gwhip_pass_b0_fixture ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_run_gwhip_pass_smoke ... ok [INFO] [stdout] test generic::techniques::gwhip::tests::test_subsumption_guard_label_in_glabel ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_pair_6x6 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_pair_9x9 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_16x16 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_6x6_empty_no_fire ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_quad_9x9 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_12x12 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_6x6 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::hidden_triple_9x9 ... ok [INFO] [stdout] test generic::techniques::hidden_set::tests::no_fire_on_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_16x16 ... ok [INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_6x6 ... ok [INFO] [stdout] test generic::techniques::locked::tests::claiming_fires_9x9_box_confinement ... ok [INFO] [stdout] test generic::techniques::locked::tests::no_fire_on_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_16x16 ... ok [INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_6x6 ... ok [INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_9x9_col_confinement ... ok [INFO] [stdout] test generic::techniques::locked::tests::pointing_fires_9x9_row_confinement ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_pair_6x6 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_pair_9x9 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_quad_16x16 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_quad_9x9 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_triple_12x12 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::naked_triple_9x9 ... ok [INFO] [stdout] test generic::techniques::naked_set::tests::no_fire_on_empty ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::level_4_id_and_rating ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_chain_len_set ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_contradiction_subcase ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_does_not_fire_on_easy ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_base_rating ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_contradiction_subcase ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_does_not_fire_on_easy ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l3_id ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_l4_does_not_fire_on_solved ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_rated_technique_base_rating ... ok [INFO] [stdout] test generic::techniques::nested_fc::tests::nested_fc_tier_and_id ... ok [INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_contradiction_subcase ... ok [INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_does_not_fire_on_easy_puzzle ... ok [INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_fires_on_known_example ... ok [INFO] [stdout] test generic::techniques::region_fc::tests::region_fc_rated_technique_base_rating ... ok [INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_12x12 ... ok [INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_16x16 ... ok [INFO] [stdout] test generic::techniques::simple_coloring::tests::coloring_smoke_6x6 ... ok [INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_fires_canonical_9x9 ... ok [INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_12x12 ... ok [INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_16x16 ... ok [INFO] [stdout] test generic::techniques::skyscraper::tests::skyscraper_smoke_6x6 ... ok [INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_fires_canonical_9x9 ... ok [INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_12x12 ... ok [INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_16x16 ... ok [INFO] [stdout] test generic::techniques::two_string_kite::tests::t2k_smoke_6x6 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_class_b_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_no_fire_on_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_16x16 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type1_fires_9x9 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type2_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type2_fires_9x9 ... ok [INFO] [stdout] test generic::techniques::unique_rect::tests::ur_type_ids_are_distinct ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_eliminate_candidate_cascades ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_f1_whip_seed_tries_all_slots ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_find_first_whip_fixture2_no_panic ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr7_find_first_gbraid_cross_type_dedup_consistency ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_fxr1_no_self_membership_in_killed_check ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_k_max_bound ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_no_false_positive_solved ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_fx6_no_duplicate_eliminations ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_partial_whip1_seed_structure ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_scratch_reset ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_whip1_direct_fixture1 ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_whip_dedup_positional ... ok [INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_12x12 ... ok [INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_16x16 ... ok [INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_fires_9x9 ... ok [INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_idempotent_after_fire ... ok [INFO] [stdout] test generic::techniques::xy_wing::tests::xy_wing_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_fires_canonical_9x9 ... ok [INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_no_fire_empty_9x9 ... ok [INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_12x12 ... ok [INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_16x16 ... ok [INFO] [stdout] test generic::techniques::xyz_wing::tests::xyz_wing_smoke_6x6 ... ok [INFO] [stdout] test generic::techniques::whip::tests::test_run_whip_pass_smoke ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::batch_smoke_terminates ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::load_bearing_strict_semantics ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::smoke_12x12_ur_type2 ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::determinism_same_seed_same_puzzle ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::ur_type2_dryrun_mirrors_production ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::ur_type2_rejects_invalid_rectangles ... ok [INFO] [stdout] test generic::ur_type2_reverse::tests::validate_t1_t2_rejected ... ok [INFO] [stdout] test generic::vicinity::tests::mutate_1_produces_different_puzzle ... ok [INFO] [stdout] test generic::vicinity::tests::vicinity_dedup_via_canonical_hash ... ok [INFO] [stdout] test generic::vicinity::tests::vicinity_explore_smoke ... ok [INFO] [stdout] test generic_writer_helpers::tests::atomic_write_does_not_clobber_on_writer_failure ... ok [INFO] [stdout] test generic_writer_helpers::tests::atomic_write_leaves_no_tmp_on_success ... ok [INFO] [stdout] test generic_writer_helpers::tests::manifest_path_alongside_parquet ... ok [INFO] [stdout] test generic_writer_helpers::tests::manifest_round_trips_as_valid_json ... ok [INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_drains_in_index_order ... ok [INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_handles_gaps_in_finish ... ok [INFO] [stdout] test generic_writer_helpers::tests::ordered_buffer_pending_decreases_on_contiguous_arrival ... ok [INFO] [stdout] test io::ordered::tests::drains_in_order_under_random_submission ... ok [INFO] [stdout] test io::ordered::tests::pending_decreases_on_contiguous_arrival ... ok [INFO] [stdout] test io::source::tests::empty_yields_none ... ok [INFO] [stdout] test io::source::tests::parses_16x16_hex_digits ... ok [INFO] [stdout] test io::source::tests::rejects_line_exceeding_2nn ... ok [INFO] [stdout] test io::source::tests::rejects_short_line ... ok [INFO] [stdout] test io::source::tests::single_line_9x9 ... ok [INFO] [stdout] test io::source::tests::skips_blank_and_comment ... ok [INFO] [stdout] test pipeline_writer_generic::tests::end_to_end_6x6_t1_writes_parquet ... ok [INFO] [stdout] test pipeline_writer_generic::tests::end_to_end_9x9_t1_writes_parquet ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parquet_has_size_column ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_clue_range_ok ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_clue_range_rejects_swapped ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_size_ok ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_bad_block ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_legacy_NxN_form ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_size_rejects_unsupported_size ... ok [INFO] [stdout] test pipeline_writer_generic::tests::parse_tier_ok ... ok [INFO] [stdout] test rerate_generic::tests::rerate_mode_solve_skips_cascade ... ok [INFO] [stdout] test generic::techniques::gbraid::tests::test_fxr6_gbraid_pass_gwhip_whip_ordering ... ok [INFO] [stdout] test rerate_generic::tests::round_trip_16x16_t1 ... ok [INFO] [stdout] test rerate_generic::tests::round_trip_9x9_t1 ... ok [INFO] [stdout] test rerate_generic::tests::text_input_9x9 ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b1_rates_b1 ... ok [INFO] [stdout] test rerate_generic::tests::text_input_16x16_alphabet ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b5_7_corpus_all_30 ... FAILED [INFO] [stdout] test generic::ur_type2_reverse::tests::smoke_9x9_ur_type2 ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b5_rates_b5 ... ok [INFO] [stdout] test shc::braid_engine_tests::easy_rates_b0 ... ok [INFO] [stdout] test shc::te::tests::bxb_on_easy_is_zero ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b6_rates_b6 ... ok [INFO] [stdout] test shc::te::tests::te_depth_one_on_berthier_b5 ... ok [INFO] [stdout] test shc::te::tests::te_depth_zero_on_easy_singles ... ok [INFO] [stdout] test shc::tests::bad_char_rejected ... ok [INFO] [stdout] test shc::tests::bad_length_rejected ... ok [INFO] [stdout] test shc::tests::berthier_is_unique ... ok [INFO] [stdout] test shc::tests::contradiction_detected_on_duplicate_in_row ... ok [INFO] [stdout] test shc::tests::easy_solves_with_singles ... ok [INFO] [stdout] test shc::tests::roundtrip_81_chars ... ok [INFO] [stdout] test shc::tests::tb_l1_does_no_harm_on_easy ... ok [INFO] [stdout] test shc::tridagon::tests::test_box_of ... ok [INFO] [stdout] test shc::tridagon::tests::test_box_transversal_known ... ok [INFO] [stdout] test shc::tridagon::tests::test_detect_tridagons_on_real_grid ... ok [INFO] [stdout] test shc::tridagon::tests::test_detect_tridagons_runs ... ok [INFO] [stdout] test shc::tridagon::tests::test_eleven_replace_preserves_dots ... ok [INFO] [stdout] test shc::tridagon::tests::test_eleven_replace_relabels_correctly ... ok [INFO] [stdout] test shc::tridagon::tests::test_perm3_sign_basic ... ok [INFO] [stdout] test shc::ua::tests::test_3digit_cycle_detection ... ok [INFO] [stdout] test shc::ua::tests::test_3digit_non_ua_rejected ... ok [INFO] [stdout] test shc::ua::tests::test_combined_enumerator_yields_more ... ok [INFO] [stdout] test shc::ua::tests::test_construct_from_known_grid ... ok [INFO] [stdout] test shc::ua::tests::test_construct_full_pipeline_smoke ... ok [INFO] [stdout] test shc::ua::tests::test_deadly_rectangle_is_ua ... ok [INFO] [stdout] test shc::ua::tests::test_greedy_covers_all_uas ... ok [INFO] [stdout] test shc::ua::tests::test_non_ua_returns_false ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b7_rates_b7 has been running for over 60 seconds [INFO] [stdout] test generic::nested_aic_reverse::tests::preemption_masking_blocks_short_aic_bypass ... ok [INFO] [stdout] test shc::te::tests::bxb_solves_forum_hardest_first has been running for over 60 seconds [INFO] [stdout] test generic::reverse_construct::tests::per_tech_smoke_9x9_terminates_within_budget ... ok [INFO] [stdout] test generic::generator_constrained::tests::t4plus_9x9_100_puzzles ... ok [INFO] [stdout] test shc::braid_engine_tests::berthier_b7_rates_b7 ... ok [INFO] [stdout] test shc::te::tests::bxb_solves_forum_hardest_first ... ok [ERROR] error running command: command timed out after 900 seconds [INFO] running `Command { std: "docker" "inspect" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4", kill_on_drop: false }` [INFO] [stdout] 59db7032a07a6235bd9ad54b8819716bf8c9d615b80de87bc24cfcea433500e4