[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 dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8 for pr-133502-26
[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 dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "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" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652
[INFO] running `Command { std: "docker" "start" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking itertools v0.13.0
[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 <https://github.com/rust-lang/rust/issues/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::<usize>::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::<usize>::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: function `bf_gerrymander` is never used
[INFO] [stdout]   --> src/main.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn bf_gerrymander(students: Vec<f64>) -> 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<usize>, group_weights: Vec<f64>) -> 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<usize>, group_weights: &Vec<f64>) -> 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<NODE_COUNT, i8>, is: Vec<usize>) -> 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<NODE_COUNT, i8>, is: Vec<usize>, group_weights: Vec<f64>) -> Option<Vec<usize>> {
[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<f64>) -> 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>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[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 <https://github.com/rust-lang/rust/issues/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: variable does not need to be mutable
[INFO] [stdout]    --> src/graph.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |             let mut unsorted_vertices = Vec::<usize>::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::<usize>::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<usize>, group_weights: Vec<f64>) -> 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<usize>, group_weights: &Vec<f64>) -> 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<NODE_COUNT, i8>, is: Vec<usize>) -> 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<NODE_COUNT, i8>, is: Vec<usize>, group_weights: Vec<f64>) -> Option<Vec<usize>> {
[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<f64>) -> 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>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.27s
[INFO] running `Command { std: "docker" "inspect" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652", kill_on_drop: false }`
[INFO] [stdout] 0ca465d5680fb9874a9ad64749e09ae5d8055fd645808a5336a1b4c248be4652
