[INFO] cloning repository https://github.com/errantsky/adventofcode-2017
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/errantsky/adventofcode-2017" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ferrantsky%2Fadventofcode-2017", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ferrantsky%2Fadventofcode-2017'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5905e5fad6f49342a47488a5fc6cd574bfc3cd7e
[INFO] testing errantsky/adventofcode-2017 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ferrantsky%2Fadventofcode-2017" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/errantsky/adventofcode-2017
[INFO] finished tweaking git repo https://github.com/errantsky/adventofcode-2017
[INFO] tweaked toml for git repo https://github.com/errantsky/adventofcode-2017 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/errantsky/adventofcode-2017 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/errantsky/adventofcode-2017 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 20d51631e6a1382281b8ba64ac263fee122e44aa17eb6a43b78b6654929e6a31
[INFO] running `Command { std: "docker" "start" "-a" "20d51631e6a1382281b8ba64ac263fee122e44aa17eb6a43b78b6654929e6a31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20d51631e6a1382281b8ba64ac263fee122e44aa17eb6a43b78b6654929e6a31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20d51631e6a1382281b8ba64ac263fee122e44aa17eb6a43b78b6654929e6a31", kill_on_drop: false }`
[INFO] [stdout] 20d51631e6a1382281b8ba64ac263fee122e44aa17eb6a43b78b6654929e6a31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eee95bc72a911494a2067d34acbd3698468d3b82c010a66928bf23191711ef5b
[INFO] running `Command { std: "docker" "start" "-a" "eee95bc72a911494a2067d34acbd3698468d3b82c010a66928bf23191711ef5b", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling adventofcode-2017 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `part1` and `part2`
[INFO] [stdout]  --> src/main.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::dueling_generators_15::{part1, part2};
[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: `std::hash::Hash`
[INFO] [stdout]  --> src/coprocessor_conflagration_23.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/digital_plumber_12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/duet_18.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/memory_realloc_6.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/memory_realloc_6.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/memory_realloc_6.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/packet_scanners_13.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/permutation_promenade_16.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/registers_8.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader, Lines};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/spiral_memory_3.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stdout]    |                            ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stdout] 87 +     let quadrant = mod_pos(p - zero, layer_len) / (2 * layer);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/stream_processing_9.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/stream_processing_9.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut lc = line_cursor as usize;
[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: `lc`
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Field::Register(c) => {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/digital_plumber_12.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut split_line: Vec<&str> = line.split(" <-> ").collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/dueling_generators_15.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     for i in 0..(40 * 10_usize.pow(6)) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/dueling_generators_15.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for i in 0..(5 * 10_usize.pow(6)) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/duet_18.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lc`
[INFO] [stdout]   --> src/duet_18.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]  --> src/halting_problem_25.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     for i in 0..count {
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/halting_problem_25.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     for i in 0..count {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/memory_realloc_6.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (mut mid, mut mval) = banks
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/memory_realloc_6.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for i in 0..blocks {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]  --> src/packet_scanners_13.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     for (depth, range) in scanners.iter() {
[INFO] [stdout]   |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]   --> src/packet_scanners_13.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     for (depth, range) in scanners.iter() {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_distance`
[INFO] [stdout]   --> src/particle_swarm_20.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let (min_index, min_distance) = particles
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/particle_swarm_20.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     for (key, val) in occupied_points.iter() {
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recursive_circus_7.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut captured_groups = regex_pattern
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 |     for (i, l) in buffered.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for (j, ch) in l.chars().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/stream_processing_9.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut letters = stream.chars().collect::<Vec<char>>();
[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/tubes_19.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut cur_x = 0;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seen_vec`
[INFO] [stdout]   --> src/tubes_19.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let seen_vec: Vec<char> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seen_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_captcha` is never used
[INFO] [stdout]  --> src/inverse_captcha_1.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn inverse_captcha(input: Vec<u32>) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inverse_captcha2` is never used
[INFO] [stdout]   --> src/inverse_captcha_1.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn inverse_captcha2(input: Vec<u32>) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_program` is never used
[INFO] [stdout]  --> src/coprocessor_conflagration_23.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn run_program(instruction_vec: Vec<Instruction>) -> isize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Field` is never used
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 | enum Field {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn parse_input(path: &str) -> Vec<Instruction> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_submission_part1` is never used
[INFO] [stdout]    --> src/coprocessor_conflagration_23.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn test_submission_part1() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_checksum` is never used
[INFO] [stdout]  --> src/corruption_checksum_2.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn find_checksum() -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_checksum2` is never used
[INFO] [stdout]   --> src/corruption_checksum_2.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn find_checksum2() -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs` is never used
[INFO] [stdout]  --> src/digital_plumber_12.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn bfs(
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs_alt` is never used
[INFO] [stdout]   --> src/digital_plumber_12.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn bfs_alt(adjacency_map: HashMap<u16, HashSet<u16>>) -> u16 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]   --> src/digital_plumber_12.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn part1(adjacency_map: HashMap<u16, HashSet<u16>>) -> u16 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/digital_plumber_12.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn part2(adjacency_map: HashMap<u16, HashSet<u16>>) -> u16 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_input` is never used
[INFO] [stdout]   --> src/digital_plumber_12.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn read_input(path: &str) -> HashMap<u16, HashSet<u16>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN1_STARTER_SAMPLE` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const GEN1_STARTER_SAMPLE: usize = 65;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN2_STARTER_SAMPLE` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:2:7
[INFO] [stdout]   |
[INFO] [stdout] 2 | const GEN2_STARTER_SAMPLE: usize = 8921;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN1_STARTER` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const GEN1_STARTER: usize = 679;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN2_STARTER` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const GEN2_STARTER: usize = 771;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN1_FACTOR` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const GEN1_FACTOR: usize = 16807;
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN2_FACTOR` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const GEN2_FACTOR: usize = 48271;
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn part1() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/dueling_generators_15.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_logic` is never used
[INFO] [stdout]   --> src/dueling_generators_15.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn gen_logic(multiple_factor: usize, starter: usize, factor: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_program` is never used
[INFO] [stdout]  --> src/duet_18.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn run_program(instruction_vec: Vec<Instruction>) -> isize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/duet_18.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Field` is never used
[INFO] [stdout]   --> src/duet_18.rs:81:6
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum Field {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/duet_18.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_input(path: &str) -> Vec<Instruction> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend` is never used
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn extend(
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/electromagnetic_moat_24.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn main() {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tm1_sample` is never used
[INFO] [stdout]  --> src/halting_problem_25.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn tm1_sample(count: isize) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tm1_submission` is never used
[INFO] [stdout]   --> src/halting_problem_25.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn tm1_submission(count: isize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_distance` is never used
[INFO] [stdout]   --> src/hex_ed_11.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find_distance(input: Vec<&str>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_dist` is never used
[INFO] [stdout]   --> src/hex_ed_11.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn hex_dist(current_position: (isize, isize, isize)) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/high_entropy_passphrase_4.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn is_valid(passphrase: String) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_advanced` is never used
[INFO] [stdout]   --> src/high_entropy_passphrase_4.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn is_valid_advanced(passphrase: String) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_1` is never used
[INFO] [stdout]  --> src/maze_5.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve_part_1(mut list: Vec<i32>) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part_2` is never used
[INFO] [stdout]   --> src/maze_5.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn solve_part_2(mut list: Vec<i32>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_input` is never used
[INFO] [stdout]   --> src/maze_5.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn read_input() -> Vec<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_p1` is never used
[INFO] [stdout]  --> src/memory_realloc_6.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn solve_p1(mut banks: Vec<usize>) -> (usize, usize) {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/packet_scanners_13.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn part1(scanners: Vec<(u16, u16)>) -> u16 {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/packet_scanners_13.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn part2() {}
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_input` is never used
[INFO] [stdout]   --> src/packet_scanners_13.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn read_input(path: &str) -> Vec<(u16, u16)> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point3D` is never constructed
[INFO] [stdout]  --> src/particle_swarm_20.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Point3D {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Particle` is never constructed
[INFO] [stdout]   --> src/particle_swarm_20.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Particle {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]   --> src/particle_swarm_20.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn tick(particle: &mut Particle) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_closest_index` is never used
[INFO] [stdout]   --> src/particle_swarm_20.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn find_closest_index(particles: &Vec<Particle>) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_collisions` is never used
[INFO] [stdout]   --> src/particle_swarm_20.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn find_collisions(particles: &mut Vec<Particle>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spin` is never used
[INFO] [stdout]  --> src/permutation_promenade_16.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn spin(shift_amount: usize, line: &mut Vec<&str>) {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exchange` is never used
[INFO] [stdout]  --> src/permutation_promenade_16.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn exchange(prog1_pos: usize, prog2_pos: usize, line: &mut Vec<&str>) {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `partner` is never used
[INFO] [stdout]   --> src/permutation_promenade_16.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn partner(prog1: &str, prog2: &str, line: &mut Vec<&str>) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bottom_program` is never used
[INFO] [stdout]  --> src/recursive_circus_7.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn find_bottom_program(program_map: HashMap<String, (usize, Vec<String>)>) -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/recursive_circus_7.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn parse_input(path: &str) -> HashMap<String, (usize, Vec<String>)> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/registers_8.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn part1(lines: Lines<BufReader<File>>) -> (i32, i32) {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spinlock_tick` is never used
[INFO] [stdout]  --> src/spinlock_17.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn spinlock_tick(current_pos: usize, step: usize, buffer: &mut Vec<usize>) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spiral_idx_to_xy` is never used
[INFO] [stdout]   --> src/spiral_memory_3.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn spiral_idx_to_xy(idx: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `I` is never used
[INFO] [stdout]   --> src/spiral_memory_3.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type I = i32;
[INFO] [stdout]    |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `U` is never used
[INFO] [stdout]   --> src/spiral_memory_3.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 | type U = usize;
[INFO] [stdout]    |      ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `layer_index` is never used
[INFO] [stdout]   --> src/spiral_memory_3.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn layer_index(p: I) -> (I, I, I, I) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mod_pos` is never used
[INFO] [stdout]   --> src/spiral_memory_3.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn mod_pos(a: I, b: I) -> I {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan` is never used
[INFO] [stdout]    --> src/spiral_memory_3.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn manhattan(p: I) -> I {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]    --> src/spiral_memory_3.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn part2(target: I) -> I {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/sporifica_virus_22.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Direction {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Rotation` is never used
[INFO] [stdout]   --> src/sporifica_virus_22.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Rotation {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Carrier` is never constructed
[INFO] [stdout]   --> src/sporifica_virus_22.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Carrier {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point2D` is never constructed
[INFO] [stdout]   --> src/sporifica_virus_22.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Point2D {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xy_diff` is never used
[INFO] [stdout]   --> src/sporifica_virus_22.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn xy_diff(direction: &Direction) -> Point2D {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_direction` is never used
[INFO] [stdout]   --> src/sporifica_virus_22.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn new_direction(current_direction: &Direction, rotate: Rotation) -> Direction {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]   --> src/sporifica_virus_22.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn tick(carrier: &mut Carrier, grid_map: &mut HashMap<Point2D, char>, infected_count: &mut usize) {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_input` is never used
[INFO] [stdout]   --> src/sporifica_virus_22.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn parse_input(path: &str) -> HashMap<Point2D, char> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solve_part1` is never used
[INFO] [stdout]  --> src/stream_processing_9.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn solve_part1(stream: String) -> u32 {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/tubes_19.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/tubes_19.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Packet {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/tubes_19.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Direction {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `follow_route` is never used
[INFO] [stdout]   --> src/tubes_19.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn follow_route(route_map: Vec<Vec<char>>) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::collections::hash_set::Union` that must be used
[INFO] [stdout]   --> src/digital_plumber_12.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the union as an iterator, without modifying either input set
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let _ = adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.62s
[INFO] running `Command { std: "docker" "inspect" "eee95bc72a911494a2067d34acbd3698468d3b82c010a66928bf23191711ef5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eee95bc72a911494a2067d34acbd3698468d3b82c010a66928bf23191711ef5b", kill_on_drop: false }`
[INFO] [stdout] eee95bc72a911494a2067d34acbd3698468d3b82c010a66928bf23191711ef5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1186a7279cc146fc85c251d20ac6fea2930850efd986b142f651da394a1da711
[INFO] running `Command { std: "docker" "start" "-a" "1186a7279cc146fc85c251d20ac6fea2930850efd986b142f651da394a1da711", kill_on_drop: false }`
[INFO] [stderr]    Compiling adventofcode-2017 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `part1` and `part2`
[INFO] [stdout]  --> src/main.rs:1:36
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::dueling_generators_15::{part1, part2};
[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: `std::hash::Hash`
[INFO] [stdout]  --> src/coprocessor_conflagration_23.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]    --> src/coprocessor_conflagration_23.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use std::fs::File;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Split`
[INFO] [stdout]    --> src/coprocessor_conflagration_23.rs:134:19
[INFO] [stdout]     |
[INFO] [stdout] 134 |     use std::io::{BufRead, BufReader, Split};
[INFO] [stdout]     |                   ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/digital_plumber_12.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/duet_18.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]    --> src/duet_18.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     use std::fs::File;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Split`
[INFO] [stdout]    --> src/duet_18.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 122 |     use std::io::{BufRead, BufReader, Split};
[INFO] [stdout]     |                   ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufRead, BufReader};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/electromagnetic_moat_24.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/memory_realloc_6.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/packet_scanners_13.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read`
[INFO] [stdout]   --> src/packet_scanners_13.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     use std::fs::read;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/particle_swarm_20.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/permutation_promenade_16.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dueling_generators_15::part2`
[INFO] [stdout]   --> src/permutation_promenade_16.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     use crate::dueling_generators_15::part2;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/spinlock_17.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::hash::Hash;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/spiral_memory_3.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stdout]    |                            ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stdout] 87 +     let quadrant = mod_pos(p - zero, layer_len) / (2 * layer);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut lc = line_cursor as usize;
[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: `lc`
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/coprocessor_conflagration_23.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Field::Register(c) => {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/digital_plumber_12.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut split_line: Vec<&str> = line.split(" <-> ").collect();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/dueling_generators_15.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     for i in 0..(40 * 10_usize.pow(6)) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/dueling_generators_15.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     for i in 0..(5 * 10_usize.pow(6)) {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/dueling_generators_15.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for i in 0..5 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/duet_18.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lc`
[INFO] [stdout]   --> src/duet_18.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut lc = line_cursor as usize;
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_sound`
[INFO] [stdout]    --> src/duet_18.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let last_sound = run_program(instruction_vec);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_sound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]  --> src/halting_problem_25.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     for i in 0..count {
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/halting_problem_25.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     for i in 0..count {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/high_entropy_passphrase_4.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut l = line.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/high_entropy_passphrase_4.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let mut l = line.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/memory_realloc_6.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (mut mid, mut mval) = banks
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/memory_realloc_6.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for i in 0..blocks {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `banks`
[INFO] [stdout]   --> src/memory_realloc_6.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let banks = vec![0, 2, 7, 0];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/memory_realloc_6.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut buffered = BufReader::new(file);
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]  --> src/packet_scanners_13.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     for (depth, range) in scanners.iter() {
[INFO] [stdout]   |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `range`
[INFO] [stdout]   --> src/packet_scanners_13.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     for (depth, range) in scanners.iter() {
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_distance`
[INFO] [stdout]   --> src/particle_swarm_20.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let (min_index, min_distance) = particles
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_distance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/particle_swarm_20.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     for (key, val) in occupied_points.iter() {
[INFO] [stdout]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/particle_swarm_20.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut triple = &mut ln_str.split(", ");
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/particle_swarm_20.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             for i in 0..3 {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/particle_swarm_20.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for i in 0..ticks_count {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/particle_swarm_20.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         for i in 0..ticks_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/particle_swarm_20.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         for i in 0..ticks_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/particle_swarm_20.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         for i in 0..ticks_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/recursive_circus_7.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut captured_groups = regex_pattern
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/recursive_circus_7.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let root = find_bottom_program(program_map);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/spinlock_17.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         for i in 0..(2017 - 2) {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/spinlock_17.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         for i in 0..2017 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/spinlock_17.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let mut ind = *(index_map.get(&prev).unwrap());
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 |     for (i, l) in buffered.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for (j, ch) in l.chars().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         for i in 0..burst_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sporifica_virus_22.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         for i in 0..burst_count {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/stream_processing_9.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let mut letters = stream.chars().collect::<Vec<char>>();
[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/tubes_19.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut cur_x = 0;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seen_vec`
[INFO] [stdout]   --> src/tubes_19.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let seen_vec: Vec<char> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seen_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_submission_part1` is never used
[INFO] [stdout]    --> src/coprocessor_conflagration_23.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn test_submission_part1() {
[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 `GEN1_STARTER` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const GEN1_STARTER: usize = 679;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GEN2_STARTER` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const GEN2_STARTER: usize = 771;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part1` is never used
[INFO] [stdout]  --> src/dueling_generators_15.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn part1() {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/dueling_generators_15.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn part2() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_logic` is never used
[INFO] [stdout]   --> src/dueling_generators_15.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn gen_logic(multiple_factor: usize, starter: usize, factor: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend` is never used
[INFO] [stdout]  --> src/electromagnetic_moat_24.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn extend(
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/electromagnetic_moat_24.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn main() {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part2` is never used
[INFO] [stdout]   --> src/packet_scanners_13.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn part2() {}
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manhattan` is never used
[INFO] [stdout]    --> src/spiral_memory_3.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn manhattan(p: I) -> I {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::collections::hash_set::Union` that must be used
[INFO] [stdout]   --> src/digital_plumber_12.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the union as an iterator, without modifying either input set
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let _ = adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.76s
[INFO] running `Command { std: "docker" "inspect" "1186a7279cc146fc85c251d20ac6fea2930850efd986b142f651da394a1da711", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1186a7279cc146fc85c251d20ac6fea2930850efd986b142f651da394a1da711", kill_on_drop: false }`
[INFO] [stdout] 1186a7279cc146fc85c251d20ac6fea2930850efd986b142f651da394a1da711
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4340f66b353c03003a8654faf6fb4a8a6648bb268fc501610d0115e958de2e2c
[INFO] running `Command { std: "docker" "start" "-a" "4340f66b353c03003a8654faf6fb4a8a6648bb268fc501610d0115e958de2e2c", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `part1` and `part2`
[INFO] [stderr]  --> src/main.rs:1:36
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::dueling_generators_15::{part1, part2};
[INFO] [stderr]   |                                    ^^^^^  ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/coprocessor_conflagration_23.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]    --> src/coprocessor_conflagration_23.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |     use std::fs::File;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, and `Split`
[INFO] [stderr]    --> src/coprocessor_conflagration_23.rs:134:19
[INFO] [stderr]     |
[INFO] [stderr] 134 |     use std::io::{BufRead, BufReader, Split};
[INFO] [stderr]     |                   ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/digital_plumber_12.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/duet_18.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]    --> src/duet_18.rs:121:9
[INFO] [stderr]     |
[INFO] [stderr] 121 |     use std::fs::File;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, and `Split`
[INFO] [stderr]    --> src/duet_18.rs:122:19
[INFO] [stderr]     |
[INFO] [stderr] 122 |     use std::io::{BufRead, BufReader, Split};
[INFO] [stderr]     |                   ^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/electromagnetic_moat_24.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stderr]  --> src/electromagnetic_moat_24.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io::{BufRead, BufReader};
[INFO] [stderr]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/electromagnetic_moat_24.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/memory_realloc_6.rs:1:33
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/packet_scanners_13.rs:1:33
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::read`
[INFO] [stderr]   --> src/packet_scanners_13.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 |     use std::fs::read;
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/particle_swarm_20.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |     use std::collections::HashMap;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/permutation_promenade_16.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::dueling_generators_15::part2`
[INFO] [stderr]   --> src/permutation_promenade_16.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     use crate::dueling_generators_15::part2;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]   --> src/spinlock_17.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     use std::hash::Hash;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/spiral_memory_3.rs:87:28
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stderr]    |                            ^        ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 87 -     let quadrant = mod_pos((p - zero), layer_len) / (2 * layer);
[INFO] [stderr] 87 +     let quadrant = mod_pos(p - zero, layer_len) / (2 * layer);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stderr]    |
[INFO] [stderr] 15 |         let mut lc = line_cursor as usize;
[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: unused variable: `lc`
[INFO] [stderr]   --> src/coprocessor_conflagration_23.rs:15:13
[INFO] [stderr]    |
[INFO] [stderr] 15 |         let mut lc = line_cursor as usize;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> src/coprocessor_conflagration_23.rs:54:33
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 Field::Register(c) => {
[INFO] [stderr]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/digital_plumber_12.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let mut split_line: Vec<&str> = line.split(" <-> ").collect();
[INFO] [stderr]    |             ----^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/dueling_generators_15.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     for i in 0..(40 * 10_usize.pow(6)) {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/dueling_generators_15.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     for i in 0..(5 * 10_usize.pow(6)) {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/dueling_generators_15.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         for i in 0..5 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/duet_18.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 |         let mut lc = line_cursor as usize;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lc`
[INFO] [stderr]   --> src/duet_18.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 |         let mut lc = line_cursor as usize;
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `last_sound`
[INFO] [stderr]    --> src/duet_18.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let last_sound = run_program(instruction_vec);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_sound`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]  --> src/halting_problem_25.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |     for i in 0..count {
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/halting_problem_25.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |     for i in 0..count {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/high_entropy_passphrase_4.rs:61:17
[INFO] [stderr]    |
[INFO] [stderr] 61 |             let mut l = line.unwrap();
[INFO] [stderr]    |                 ----^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/high_entropy_passphrase_4.rs:109:17
[INFO] [stderr]     |
[INFO] [stderr] 109 |             let mut l = line.unwrap();
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/memory_realloc_6.rs:11:23
[INFO] [stderr]    |
[INFO] [stderr] 11 |         let (mut mid, mut mval) = banks
[INFO] [stderr]    |                       ----^^^^
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/memory_realloc_6.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |         for i in 0..blocks {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `banks`
[INFO] [stderr]   --> src/memory_realloc_6.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let banks = vec![0, 2, 7, 0];
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_banks`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/memory_realloc_6.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut buffered = BufReader::new(file);
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]  --> src/packet_scanners_13.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 |     for (depth, range) in scanners.iter() {
[INFO] [stderr]   |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `range`
[INFO] [stderr]   --> src/packet_scanners_13.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |     for (depth, range) in scanners.iter() {
[INFO] [stderr]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_range`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `min_distance`
[INFO] [stderr]   --> src/particle_swarm_20.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let (min_index, min_distance) = particles
[INFO] [stderr]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_distance`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/particle_swarm_20.rs:48:10
[INFO] [stderr]    |
[INFO] [stderr] 48 |     for (key, val) in occupied_points.iter() {
[INFO] [stderr]    |          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/particle_swarm_20.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |             let mut triple = &mut ln_str.split(", ");
[INFO] [stderr]    |                 ----^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/particle_swarm_20.rs:73:17
[INFO] [stderr]    |
[INFO] [stderr] 73 |             for i in 0..3 {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/particle_swarm_20.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |         for i in 0..ticks_count {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/particle_swarm_20.rs:111:13
[INFO] [stderr]     |
[INFO] [stderr] 111 |         for i in 0..ticks_count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/particle_swarm_20.rs:124:13
[INFO] [stderr]     |
[INFO] [stderr] 124 |         for i in 0..ticks_count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/particle_swarm_20.rs:138:13
[INFO] [stderr]     |
[INFO] [stderr] 138 |         for i in 0..ticks_count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/recursive_circus_7.rs:68:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |         let mut captured_groups = regex_pattern
[INFO] [stderr]    |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `root`
[INFO] [stderr]    --> src/recursive_circus_7.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let root = find_bottom_program(program_map);
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/spinlock_17.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |         for i in 0..(2017 - 2) {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/spinlock_17.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |         for i in 0..2017 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/spinlock_17.rs:77:21
[INFO] [stderr]    |
[INFO] [stderr] 77 |                 let mut ind = *(index_map.get(&prev).unwrap());
[INFO] [stderr]    |                     ----^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sporifica_virus_22.rs:102:10
[INFO] [stderr]     |
[INFO] [stderr] 102 |     for (i, l) in buffered.iter().enumerate() {
[INFO] [stderr]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> src/sporifica_virus_22.rs:103:14
[INFO] [stderr]     |
[INFO] [stderr] 103 |         for (j, ch) in l.chars().enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sporifica_virus_22.rs:135:13
[INFO] [stderr]     |
[INFO] [stderr] 135 |         for i in 0..burst_count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sporifica_virus_22.rs:151:13
[INFO] [stderr]     |
[INFO] [stderr] 151 |         for i in 0..burst_count {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/stream_processing_9.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let mut letters = stream.chars().collect::<Vec<char>>();
[INFO] [stderr]   |         ----^^^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tubes_19.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let mut cur_x = 0;
[INFO] [stderr]    |         ----^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `seen_vec`
[INFO] [stderr]   --> src/tubes_19.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     let seen_vec: Vec<char> = Vec::new();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seen_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_submission_part1` is never used
[INFO] [stderr]    --> src/coprocessor_conflagration_23.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub fn test_submission_part1() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GEN1_STARTER` is never used
[INFO] [stderr]  --> src/dueling_generators_15.rs:3:7
[INFO] [stderr]   |
[INFO] [stderr] 3 | const GEN1_STARTER: usize = 679;
[INFO] [stderr]   |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `GEN2_STARTER` is never used
[INFO] [stderr]  --> src/dueling_generators_15.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const GEN2_STARTER: usize = 771;
[INFO] [stderr]   |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `part1` is never used
[INFO] [stderr]  --> src/dueling_generators_15.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn part1() {
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `part2` is never used
[INFO] [stderr]   --> src/dueling_generators_15.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn part2() {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `gen_logic` is never used
[INFO] [stderr]   --> src/dueling_generators_15.rs:38:4
[INFO] [stderr]    |
[INFO] [stderr] 38 | fn gen_logic(multiple_factor: usize, starter: usize, factor: usize) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extend` is never used
[INFO] [stderr]  --> src/electromagnetic_moat_24.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn extend(
[INFO] [stderr]   |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]   --> src/electromagnetic_moat_24.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn main() {}
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `part2` is never used
[INFO] [stderr]   --> src/packet_scanners_13.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn part2() {}
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `manhattan` is never used
[INFO] [stderr]    --> src/spiral_memory_3.rs:100:4
[INFO] [stderr]     |
[INFO] [stderr] 100 | fn manhattan(p: I) -> I {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::collections::hash_set::Union` that must be used
[INFO] [stderr]   --> src/digital_plumber_12.rs:83:13
[INFO] [stderr]    |
[INFO] [stderr] 83 |             adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this returns the union as an iterator, without modifying either input set
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 83 |             let _ = adjacency_map.get(&node).unwrap().union(&neighbors);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `adventofcode-2017` (bin "adventofcode-2017" test) generated 70 warnings (run `cargo fix --bin "adventofcode-2017" -p adventofcode-2017 --tests` to apply 59 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/adventofcode_2017-2c93e95f6b4ab021)
[INFO] [stdout] 
[INFO] [stdout] running 93 tests
[INFO] [stdout] test coprocessor_conflagration_23::tests::test_parse_input ... ok
[INFO] [stdout] test corruption_checksum_2::tests::sample1_test1 ... ok
[INFO] [stdout] test electromagnetic_moat_24::tests::test_sample_part1 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_input_sample1 ... ok
[INFO] [stdout] test duet_18::tests::test_parse_input ... ok
[INFO] [stdout] test hex_ed_11::tests::test_sample_part1 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::hash_set_test ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p1test1 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p1test2 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p1test3 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p2test1 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p2test2 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p2test3 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p2test4 ... ok
[INFO] [stdout] test duet_18::tests::test_sample_part1 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::p2test5 ... ok
[INFO] [stdout] test duet_18::tests::test_submission_part1 ... ok
[INFO] [stdout] test hex_ed_11::tests::test_submission_part1 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample2_test1 ... ok
[INFO] [stdout] test corruption_checksum_2::tests::sample2_test1 ... ok
[INFO] [stdout] test halting_problem_25::tests::test_sample_part1 ... ok
[INFO] [stdout] test high_entropy_passphrase_4::tests::submission1 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_input_sample2 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_sub1_res ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample2_test4 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample2_test3 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample_test2 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample2_test5 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::submission2_input ... ok
[INFO] [stdout] test maze_5::tests::test_sample2 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample_test3 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample_test1 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample_test4 ... ok
[INFO] [stdout] test memory_realloc_6::tests::test_sample1 ... ok
[INFO] [stdout] test packet_scanners_13::tests::test_input_sample1 ... ok
[INFO] [stdout] test dueling_generators_15::tests::test_15sample_part1 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::sample2_test2 ... ok
[INFO] [stdout] test inverse_captcha_1::tests::submission_input ... ok
[INFO] [stdout] test maze_5::tests::test_sample1 ... ok
[INFO] [stdout] test particle_swarm_20::tests::test_sample_part1 ... ok
[INFO] [stdout] test particle_swarm_20::tests::test_sample_part2 ... ok
[INFO] [stdout] test permutation_promenade_16::tests::test_part2_cycle ... ok
[INFO] [stdout] test permutation_promenade_16::tests::test_sample_part1 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_submission_part1 ... ok
[INFO] [stdout] test corruption_checksum_2::tests::submission2_test ... FAILED
[INFO] [stdout] test corruption_checksum_2::tests::submission1_test ... FAILED
[INFO] [stdout] test packet_scanners_13::tests::test_submission_1 ... ok
[INFO] [stdout] test permutation_promenade_16::tests::test_submission_part1 ... ok
[INFO] [stdout] test registers_8::tests::test_sample1 ... ok
[INFO] [stdout] test spinlock_17::tests::test_sample_part1 ... ok
[INFO] [stdout] test spinlock_17::tests::test_submission_part1 ... ok
[INFO] [stdout] test registers_8::tests::test_submission ... ok
[INFO] [stdout] test recursive_circus_7::tests::test_sample_part1 ... ok
[INFO] [stdout] test maze_5::tests::test_submission1 ... ok
[INFO] [stdout] test spiral_memory_3::tests::sample1 ... FAILED
[INFO] [stdout] test high_entropy_passphrase_4::tests::submission2 ... ok
[INFO] [stdout] test spiral_memory_3::tests::sample2 ... ok
[INFO] [stdout] test recursive_circus_7::tests::test_sample_part2 ... ok
[INFO] [stdout] test spiral_memory_3::tests::sample3 ... ok
[INFO] [stdout] test spiral_memory_3::tests::submission ... ok
[INFO] [stdout] test sporifica_virus_22::tests::test_parse_input ... ok
[INFO] [stdout] test spiral_memory_3::tests::sample4 ... ok
[INFO] [stdout] test sporifica_virus_22::tests::test_sample_part1 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test3 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test4 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test1 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test2 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test5 ... ok
[INFO] [stdout] test stream_processing_9::tests::garbage_test6 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample2 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample1 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample3 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample4 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample5 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample7 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample8 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_sample6 ... ok
[INFO] [stdout] test tubes_19::tests::test_sample_part1 ... ok
[INFO] [stdout] test stream_processing_9::tests::test1_submission ... ok
[INFO] [stdout] test spiral_memory_3::tests::submission2 ... ok
[INFO] [stdout] test tubes_19::tests::test_submission_part1 ... ok
[INFO] [stdout] test sporifica_virus_22::tests::test_submission_part1 ... ok
[INFO] [stdout] test particle_swarm_20::tests::test_submission_part1 ... ok
[INFO] [stdout] test recursive_circus_7::tests::test_submission_part1 ... ok
[INFO] [stdout] test memory_realloc_6::tests::test_submission1 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_submission_part2 ... ok
[INFO] [stdout] test digital_plumber_12::tests::test_sub2_res ... ok
[INFO] [stdout] test halting_problem_25::tests::test_submission_part1 ... ok
[INFO] [stdout] test spinlock_17::tests::test_submission_part2 ... ok
[INFO] [stdout] test maze_5::tests::test_submission2 ... ok
[INFO] [stdout] test particle_swarm_20::tests::test_submission_part2 ... ok
[INFO] [stdout] test coprocessor_conflagration_23::tests::test_submission_part1 has been running for over 60 seconds
[INFO] [stdout] test spinlock_17::tests::test_cycling_part2 has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "4340f66b353c03003a8654faf6fb4a8a6648bb268fc501610d0115e958de2e2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4340f66b353c03003a8654faf6fb4a8a6648bb268fc501610d0115e958de2e2c", kill_on_drop: false }`
[INFO] [stdout] 4340f66b353c03003a8654faf6fb4a8a6648bb268fc501610d0115e958de2e2c
