[INFO] cloning repository https://github.com/SylvanM/gerrymandering [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SylvanM/gerrymandering" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSylvanM%2Fgerrymandering", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSylvanM%2Fgerrymandering'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1532e6e6838d49c5dea2f67c384eb268b3c910dc [INFO] checking SylvanM/gerrymandering against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for 2025-12-16-next-solver-global [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSylvanM%2Fgerrymandering" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/SylvanM/gerrymandering [INFO] finished tweaking git repo https://github.com/SylvanM/gerrymandering [INFO] tweaked toml for git repo https://github.com/SylvanM/gerrymandering written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/SylvanM/gerrymandering on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/SylvanM/gerrymandering 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" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded algebra_kit v0.1.12 [INFO] [stderr] Downloaded matrix_kit v0.1.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b352981a87d9cdf1061ad321143257fb0c68439520dcfff74e01ded615443bf5 [INFO] running `Command { std: "docker" "start" "-a" "b352981a87d9cdf1061ad321143257fb0c68439520dcfff74e01ded615443bf5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b352981a87d9cdf1061ad321143257fb0c68439520dcfff74e01ded615443bf5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b352981a87d9cdf1061ad321143257fb0c68439520dcfff74e01ded615443bf5", kill_on_drop: false }` [INFO] [stdout] b352981a87d9cdf1061ad321143257fb0c68439520dcfff74e01ded615443bf5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ad5defb7eb53cac022e8ba3bd2b05310a18af6b2a61fc6c10ba0ea5ff34dc5e9 [INFO] running `Command { std: "docker" "start" "-a" "ad5defb7eb53cac022e8ba3bd2b05310a18af6b2a61fc6c10ba0ea5ff34dc5e9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking algebra_kit v0.1.12 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking matrix_kit v0.1.9 [INFO] [stderr] Checking gerrymandering v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_const_exprs)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #76560 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/graph.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | while true { // [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(generic_const_exprs)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #76560 for more information [INFO] [stdout] = note: `#[warn(incomplete_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/graph.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | while true { // [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/main.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::{seq::SliceRandom, thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/graph.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | let mut unsorted_vertices = Vec::::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/graph.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut desired_node = s; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unsorted_vertices` [INFO] [stdout] --> src/graph.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | let mut unsorted_vertices = Vec::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unsorted_vertices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `desired_node` [INFO] [stdout] --> src/graph.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut desired_node = s; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_desired_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/graph.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | let mut unsorted_vertices = Vec::::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/graph.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut desired_node = s; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `unsorted_vertices` [INFO] [stdout] --> src/graph.rs:267:17 [INFO] [stdout] | [INFO] [stdout] 267 | let mut unsorted_vertices = Vec::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unsorted_vertices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `desired_node` [INFO] [stdout] --> src/graph.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | let mut desired_node = s; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_desired_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `N` is never used [INFO] [stdout] --> src/main.rs:145:7 [INFO] [stdout] | [INFO] [stdout] 145 | const N: usize = 4; // yes, we'll have to change this by hand. :( [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_COUNT_TABLE` is never used [INFO] [stdout] --> src/main.rs:146:7 [INFO] [stdout] | [INFO] [stdout] 146 | const NODE_COUNT_TABLE: [usize ; 100] = [1, 20, 84, 220, 455, 816, 1330, 2024, 2925, 4060, 5456, 7140, 9139, 11480, 14190, 17296, 2... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_COUNT` is never used [INFO] [stdout] --> src/main.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 147 | const NODE_COUNT: usize = NODE_COUNT_TABLE[N - 1]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_weight` is never used [INFO] [stdout] --> src/main.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn set_weight(is: Vec, group_weights: Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `squared_weight` is never used [INFO] [stdout] --> src/main.rs:157:4 [INFO] [stdout] | [INFO] [stdout] 157 | fn squared_weight(is: &Vec, group_weights: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ind_set` is never used [INFO] [stdout] --> src/main.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn is_ind_set(graph: Graph, is: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `improving_claw` is never used [INFO] [stdout] --> src/main.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn improving_claw(graph: Graph, is: Vec, group_weights: Vec) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `berman_approx` is never used [INFO] [stdout] --> src/main.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn berman_approx(p: Vec) -> Vec<[usize ; 3]> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_to_bp` is never used [INFO] [stdout] --> src/graph.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn set_to_bp(set: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bf_gerrymander` is never used [INFO] [stdout] --> src/main.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn bf_gerrymander(students: Vec) -> Vec<[f64 ; 3]> { [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 `n_choose_k` is never used [INFO] [stdout] --> src/main.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn n_choose_k(n: u64, k: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `N` is never used [INFO] [stdout] --> src/main.rs:145:7 [INFO] [stdout] | [INFO] [stdout] 145 | const N: usize = 4; // yes, we'll have to change this by hand. :( [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_COUNT_TABLE` is never used [INFO] [stdout] --> src/main.rs:146:7 [INFO] [stdout] | [INFO] [stdout] 146 | const NODE_COUNT_TABLE: [usize ; 100] = [1, 20, 84, 220, 455, 816, 1330, 2024, 2925, 4060, 5456, 7140, 9139, 11480, 14190, 17296, 2... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_COUNT` is never used [INFO] [stdout] --> src/main.rs:147:7 [INFO] [stdout] | [INFO] [stdout] 147 | const NODE_COUNT: usize = NODE_COUNT_TABLE[N - 1]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_weight` is never used [INFO] [stdout] --> src/main.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn set_weight(is: Vec, group_weights: Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `squared_weight` is never used [INFO] [stdout] --> src/main.rs:157:4 [INFO] [stdout] | [INFO] [stdout] 157 | fn squared_weight(is: &Vec, group_weights: &Vec) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_ind_set` is never used [INFO] [stdout] --> src/main.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn is_ind_set(graph: Graph, is: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `improving_claw` is never used [INFO] [stdout] --> src/main.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn improving_claw(graph: Graph, is: Vec, group_weights: Vec) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `berman_approx` is never used [INFO] [stdout] --> src/main.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn berman_approx(p: Vec) -> Vec<[usize ; 3]> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_to_bp` is never used [INFO] [stdout] --> src/graph.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn set_to_bp(set: Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.74s [INFO] running `Command { std: "docker" "inspect" "ad5defb7eb53cac022e8ba3bd2b05310a18af6b2a61fc6c10ba0ea5ff34dc5e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad5defb7eb53cac022e8ba3bd2b05310a18af6b2a61fc6c10ba0ea5ff34dc5e9", kill_on_drop: false }` [INFO] [stdout] ad5defb7eb53cac022e8ba3bd2b05310a18af6b2a61fc6c10ba0ea5ff34dc5e9