[INFO] cloning repository https://github.com/ChoateProgrammingUnion/housing-lottery-optimization [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ChoateProgrammingUnion/housing-lottery-optimization" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChoateProgrammingUnion%2Fhousing-lottery-optimization", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChoateProgrammingUnion%2Fhousing-lottery-optimization'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0d829509936040139591c910892d4efd75c1d09a [INFO] checking ChoateProgrammingUnion/housing-lottery-optimization against master#430feb24a46993e5073c1bb1b39da190d83fa2bf for pr-78363 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChoateProgrammingUnion%2Fhousing-lottery-optimization" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ChoateProgrammingUnion/housing-lottery-optimization on toolchain 430feb24a46993e5073c1bb1b39da190d83fa2bf [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+430feb24a46993e5073c1bb1b39da190d83fa2bf" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ChoateProgrammingUnion/housing-lottery-optimization [INFO] finished tweaking git repo https://github.com/ChoateProgrammingUnion/housing-lottery-optimization [INFO] tweaked toml for git repo https://github.com/ChoateProgrammingUnion/housing-lottery-optimization written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/ChoateProgrammingUnion/housing-lottery-optimization already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+430feb24a46993e5073c1bb1b39da190d83fa2bf" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+430feb24a46993e5073c1bb1b39da190d83fa2bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 191f45444f4b4693a5a4f449ad808fbc740bab34def628b5f28f4f89e55b827a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "191f45444f4b4693a5a4f449ad808fbc740bab34def628b5f28f4f89e55b827a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "191f45444f4b4693a5a4f449ad808fbc740bab34def628b5f28f4f89e55b827a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "191f45444f4b4693a5a4f449ad808fbc740bab34def628b5f28f4f89e55b827a", kill_on_drop: false }` [INFO] [stdout] 191f45444f4b4693a5a4f449ad808fbc740bab34def628b5f28f4f89e55b827a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+430feb24a46993e5073c1bb1b39da190d83fa2bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 4c68bfbb9bf65855037cb726298f7f88299d697543fe815a9758b6912064b108 [INFO] running `Command { std: "docker" "start" "-a" "4c68bfbb9bf65855037cb726298f7f88299d697543fe815a9758b6912064b108", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking ppv-lite86 v0.2.9 [INFO] [stderr] Checking fixedbitset v0.2.0 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking linked-hash-map v0.5.3 [INFO] [stderr] Checking array2d v0.2.1 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking yaml-rust v0.4.4 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling indexmap v1.6.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking aho-corasick v0.7.13 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking petgraph v0.5.1 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking housing-optimization v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: type `Minimax_swap` should have an upper camel case name [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Minimax_swap{ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MinimaxSwap` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MCMCOptimizer_polyswap` should have an upper camel case name [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | pub(self) trait MCMCOptimizer_polyswap: Optimizer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `McmcoptimizerPolyswap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ballot::Ballot` [INFO] [stdout] --> src/optimizers/mcmc.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | use ballot::Ballot; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Minimax_swap` should have an upper camel case name [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Minimax_swap{ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MinimaxSwap` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ballot::Ballot` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | use ballot::Ballot; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MCMCOptimizer_polyswap` should have an upper camel case name [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | pub(self) trait MCMCOptimizer_polyswap: Optimizer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `McmcoptimizerPolyswap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `students_total` [INFO] [stdout] --> src/optimizers.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let students_total = ballot.students.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_students_total` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | for student in 0..students.len() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friend` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for friend in friends{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_friend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friend` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | for friend in friends{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_friend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | for student in 0..schedule[house].len(){ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `round` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | for round in 0..rounds{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_round` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `student_location` is never read [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let mut student_location = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_house` is never read [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut new_house = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | for student in house { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `round` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | for round in 0..rounds{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_round` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_seed` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | fn reseed(&mut self, new_seed: u64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_seed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nearest` [INFO] [stdout] --> src/optimizers/network.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut nearest = Vec::::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nearest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other_edge` [INFO] [stdout] --> src/optimizers/network.rs:98:37 [INFO] [stdout] | [INFO] [stdout] 98 | while let Some((other_edge, other_neighbor)) = walker.next(&contraction_graph) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_edge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rounds` [INFO] [stdout] --> src/optimizers/network.rs:203:28 [INFO] [stdout] | [INFO] [stdout] 203 | fn optimize(&mut self, rounds: usize) -> Vec> {self.clone().generate()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_seed` [INFO] [stdout] --> src/optimizers/network.rs:204:26 [INFO] [stdout] | [INFO] [stdout] 204 | fn reseed(&mut self, new_seed: u64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_seed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `students_total` [INFO] [stdout] --> src/optimizers.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let students_total = ballot.students.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_students_total` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | for student in 0..students.len() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friend` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for friend in friends{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_friend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friend` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | for friend in friends{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_friend` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:104:17 [INFO] [stdout] | [INFO] [stdout] 104 | for student in 0..schedule[house].len(){ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `round` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | for round in 0..rounds{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_round` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `student_location` is never read [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let mut student_location = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new_house` is never read [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut new_house = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `student` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | for student in house { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_student` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `round` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | for round in 0..rounds{ [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_round` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_seed` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:123:26 [INFO] [stdout] | [INFO] [stdout] 123 | fn reseed(&mut self, new_seed: u64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_seed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nearest` [INFO] [stdout] --> src/optimizers/network.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut nearest = Vec::::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nearest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other_edge` [INFO] [stdout] --> src/optimizers/network.rs:98:37 [INFO] [stdout] | [INFO] [stdout] 98 | while let Some((other_edge, other_neighbor)) = walker.next(&contraction_graph) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_edge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rounds` [INFO] [stdout] --> src/optimizers/network.rs:203:28 [INFO] [stdout] | [INFO] [stdout] 203 | fn optimize(&mut self, rounds: usize) -> Vec> {self.clone().generate()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rounds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_seed` [INFO] [stdout] --> src/optimizers/network.rs:204:26 [INFO] [stdout] | [INFO] [stdout] 204 | fn reseed(&mut self, new_seed: u64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_seed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graph` [INFO] [stdout] --> src/optimizers/network.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | let graph = optimizers::network::NetworkOptimizer::new(&ballot, 10.0, 10.0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exclude` [INFO] [stdout] --> src/optimizers/network.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | let mut exclude: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exclude` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut student = students.pop().expect("Empty datatype").clone(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut student = schedule[proposed_change.student_location.0].remove(proposed_change.student_location.1); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let mut student2 = schedule[proposed_change.proposed_house.0].remove(proposed_change.proposed_house.1); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut student = schedule[proposed_change.student_location.0].remove(proposed_change.student_location.1); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | let mut student = students.pop().expect("Empty datatype").clone(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut student = schedule[proposed_change.student_location.0].remove(proposed_change.student_location.1); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | let mut student2 = schedule[proposed_change.proposed_house.0].remove(proposed_change.proposed_house.1); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut student = schedule[proposed_change.student_location.0].remove(proposed_change.student_location.1); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut nearest = Vec::::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut current_node = heap.peek_mut().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut current_distance = current_node.distance.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | let mut preexisting_edge = contraction_graph.find_edge(other_neighbor, neighbor); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | ... let mut max_distance = contraction_graph.edge_weight(edge).unwrap() + current_distance; // max possible distance for an edge [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | let mut nearest_neighbor = heap.pop().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | let mut house_node = Node::new(house.name.clone(), None).clone(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let mut student_node = Node::new(student.name.clone(), Some(student.clone())); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | let mut friend_node = student_nodes[*friend_pref]; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let mut max_cap = self.ballots.houses[counter].capacity.clone(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | let mut student_nodes = k_nearest(&mut contraction_graph.clone(), house, max_cap, &mut exclude); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut nearest = Vec::::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut current_node = heap.peek_mut().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut current_distance = current_node.distance.clone(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | let mut preexisting_edge = contraction_graph.find_edge(other_neighbor, neighbor); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | ... let mut max_distance = contraction_graph.edge_weight(edge).unwrap() + current_distance; // max possible distance for an edge [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | let mut nearest_neighbor = heap.pop().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn size(&self , schedule: Vec>) -> (Vec>, usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | let mut house_node = Node::new(house.name.clone(), None).clone(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new(ballots: &Ballot) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn size(&self , schedule: Vec>) -> (Vec>, usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(student_location: (usize, usize), proposed_house: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/optimizers/network.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(name: String, student: std::option::Option) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/optimizers/network.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn new(ballots: &Ballot, friend_const: f64, friend_ratio: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `validate_ballot` [INFO] [stdout] --> src/optimizers.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn validate_ballot(ballot: &Ballot, schedule: Vec>) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let mut student_node = Node::new(student.name.clone(), Some(student.clone())); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | let mut friend_node = student_nodes[*friend_pref]; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | let mut max_cap = self.ballots.houses[counter].capacity.clone(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | let mut student_nodes = k_nearest(&mut contraction_graph.clone(), house, max_cap, &mut exclude); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | let mut graph = optimizers::network::NetworkOptimizer::new(&ballot, 10.0, 10.0); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut graph = optimizers::network::NetworkOptimizer::new(&ballot, 10.0, 10.0); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optimizers/network.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | let mut exclude: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/optimizers/mcmc/mcmc_swap.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn size(&self , schedule: Vec>) -> (Vec>, usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/optimizers/mcmc_polyswap/minimax_swap.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn size(&self , schedule: Vec>) -> (Vec>, usize) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/optimizers/mcmc_polyswap.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(student_location: (usize, usize), proposed_house: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.34s [INFO] running `Command { std: "docker" "inspect" "4c68bfbb9bf65855037cb726298f7f88299d697543fe815a9758b6912064b108", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c68bfbb9bf65855037cb726298f7f88299d697543fe815a9758b6912064b108", kill_on_drop: false }` [INFO] [stdout] 4c68bfbb9bf65855037cb726298f7f88299d697543fe815a9758b6912064b108