[INFO] cloning repository https://github.com/joeyrobert/advent2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joeyrobert/advent2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyrobert%2Fadvent2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyrobert%2Fadvent2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 55c36c9da533fec63d30683799c1e6b53477bdae
[INFO] testing joeyrobert/advent2018 against beta-2025-09-21 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoeyrobert%2Fadvent2018" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/joeyrobert/advent2018
[INFO] finished tweaking git repo https://github.com/joeyrobert/advent2018
[INFO] tweaked toml for git repo https://github.com/joeyrobert/advent2018 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/joeyrobert/advent2018 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/joeyrobert/advent2018 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b46e5b41729a825deb933e3abcb3dde6f547d359810fee38e3910a8efe396f4
[INFO] running `Command { std: "docker" "start" "-a" "7b46e5b41729a825deb933e3abcb3dde6f547d359810fee38e3910a8efe396f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b46e5b41729a825deb933e3abcb3dde6f547d359810fee38e3910a8efe396f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b46e5b41729a825deb933e3abcb3dde6f547d359810fee38e3910a8efe396f4", kill_on_drop: false }`
[INFO] [stdout] 7b46e5b41729a825deb933e3abcb3dde6f547d359810fee38e3910a8efe396f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5000ed2d379bcce190c6234f113884a79652e6e669f0e329db1603272492824
[INFO] running `Command { std: "docker" "start" "-a" "d5000ed2d379bcce190c6234f113884a79652e6e669f0e329db1603272492824", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling rand v0.4.3
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling bit-vec v0.5.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.6.4
[INFO] [stderr]    Compiling memchr v2.1.1
[INFO] [stderr]    Compiling rand v0.3.22
[INFO] [stderr]    Compiling skiplist v0.2.10
[INFO] [stderr]    Compiling aho-corasick v0.6.9
[INFO] [stderr]    Compiling advent2018 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[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] 176 -         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[INFO] [stdout] 176 +         if clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |         if (clay.contains(&(x, node.1))) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 179 -         if (clay.contains(&(x, node.1))) {
[INFO] [stdout] 179 +         if clay.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (clay.contains(&(x, node.1))) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (clay.contains(&(x, node.1))) {
[INFO] [stdout] 194 +         if clay.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `falling`
[INFO] [stdout]   --> src/advent_17.rs:45:77
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn determine_range(clay: &HashSet<(i32, i32)>, water: &HashSet<(i32, i32)>, falling: &HashSet<(i32, i32)>) -> (i32, i32, i32, i32) {
[INFO] [stdout]    |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_falling`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_17.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut union: HashSet<_> = clay.union(water).collect();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_04.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let mut likely_minutes_for_guard = likely_minutes.entry(active_guard).or_insert(HashMap::new());
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_13.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |         for (x, mut ch) in s.chars().enumerate() {
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_15.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...   let mut unoccupied_spots: Vec<usize> = open_spots.iter().filter(|x| !occupied_spots.contains(x) || x == position).cloned().collect();
[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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.92s
[INFO] running `Command { std: "docker" "inspect" "d5000ed2d379bcce190c6234f113884a79652e6e669f0e329db1603272492824", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5000ed2d379bcce190c6234f113884a79652e6e669f0e329db1603272492824", kill_on_drop: false }`
[INFO] [stdout] d5000ed2d379bcce190c6234f113884a79652e6e669f0e329db1603272492824
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b773e96da6f2850ee58ec1829b90dfd9e6085ab1fc2ca00195fad75149aaa65
[INFO] running `Command { std: "docker" "start" "-a" "1b773e96da6f2850ee58ec1829b90dfd9e6085ab1fc2ca00195fad75149aaa65", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling advent2018 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 |         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[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] 176 -         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[INFO] [stdout] 176 +         if clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 |         if (clay.contains(&(x, node.1))) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 179 -         if (clay.contains(&(x, node.1))) {
[INFO] [stdout] 179 +         if clay.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/advent_17.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if (clay.contains(&(x, node.1))) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 194 -         if (clay.contains(&(x, node.1))) {
[INFO] [stdout] 194 +         if clay.contains(&(x, node.1)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_13.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |         for (x, mut ch) in s.chars().enumerate() {
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_04.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 let mut likely_minutes_for_guard = likely_minutes.entry(active_guard).or_insert(HashMap::new());
[INFO] [stdout]    |                     ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `falling`
[INFO] [stdout]   --> src/advent_17.rs:45:77
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn determine_range(clay: &HashSet<(i32, i32)>, water: &HashSet<(i32, i32)>, falling: &HashSet<(i32, i32)>) -> (i32, i32, i32, i32) {
[INFO] [stdout]    |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_falling`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_17.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let mut union: HashSet<_> = clay.union(water).collect();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/advent_15.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...   let mut unoccupied_spots: Vec<usize> = open_spots.iter().filter(|x| !occupied_spots.contains(x) || x == position).cloned().collect();
[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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.34s
[INFO] running `Command { std: "docker" "inspect" "1b773e96da6f2850ee58ec1829b90dfd9e6085ab1fc2ca00195fad75149aaa65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b773e96da6f2850ee58ec1829b90dfd9e6085ab1fc2ca00195fad75149aaa65", kill_on_drop: false }`
[INFO] [stdout] 1b773e96da6f2850ee58ec1829b90dfd9e6085ab1fc2ca00195fad75149aaa65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b32b32f39223f53a32fb5e1190d36761b7bbd98ec60b2dc77eb1ebc0ba047360
[INFO] running `Command { std: "docker" "start" "-a" "b32b32f39223f53a32fb5e1190d36761b7bbd98ec60b2dc77eb1ebc0ba047360", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/advent_04.rs:57:21
[INFO] [stderr]    |
[INFO] [stderr] 57 |                 let mut likely_minutes_for_guard = likely_minutes.entry(active_guard).or_insert(HashMap::new());
[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: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/advent_17.rs:176:12
[INFO] [stderr]     |
[INFO] [stderr] 176 |         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[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] 176 -         if (clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1))) {
[INFO] [stderr] 176 +         if clay.contains(&(x, node.1)) && water.contains(&(x, node.1)) && falling.contains(&(x, node.1)) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/advent_17.rs:179:12
[INFO] [stderr]     |
[INFO] [stderr] 179 |         if (clay.contains(&(x, node.1))) {
[INFO] [stderr]     |            ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 179 -         if (clay.contains(&(x, node.1))) {
[INFO] [stderr] 179 +         if clay.contains(&(x, node.1)) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/advent_17.rs:194:12
[INFO] [stderr]     |
[INFO] [stderr] 194 |         if (clay.contains(&(x, node.1))) {
[INFO] [stderr]     |            ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 194 -         if (clay.contains(&(x, node.1))) {
[INFO] [stderr] 194 +         if clay.contains(&(x, node.1)) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `falling`
[INFO] [stderr]   --> src/advent_17.rs:45:77
[INFO] [stderr]    |
[INFO] [stderr] 45 | fn determine_range(clay: &HashSet<(i32, i32)>, water: &HashSet<(i32, i32)>, falling: &HashSet<(i32, i32)>) -> (i32, i32, i32, i32) {
[INFO] [stderr]    |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_falling`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/advent_17.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let mut union: HashSet<_> = clay.union(water).collect();
[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: variable does not need to be mutable
[INFO] [stderr]   --> src/advent_15.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 | ...   let mut unoccupied_spots: Vec<usize> = open_spots.iter().filter(|x| !occupied_spots.contains(x) || x == position).cloned().collect();
[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: variable does not need to be mutable
[INFO] [stderr]   --> src/advent_13.rs:28:17
[INFO] [stderr]    |
[INFO] [stderr] 28 |         for (x, mut ch) in s.chars().enumerate() {
[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: `advent2018` (bin "advent_04" test) generated 1 warning (run `cargo fix --bin "advent_04" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent2018` (bin "advent_17" test) generated 5 warnings (run `cargo fix --bin "advent_17" --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `advent2018` (bin "advent_15" test) generated 1 warning (run `cargo fix --bin "advent_15" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `advent2018` (bin "advent_13" test) generated 1 warning (run `cargo fix --bin "advent_13" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/advent_01.rs (/opt/rustwide/target/debug/deps/advent_01-b27be0b071186620)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_02.rs (/opt/rustwide/target/debug/deps/advent_02-7efd43e6fedceb24)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_03.rs (/opt/rustwide/target/debug/deps/advent_03-b875b4eb10b8d54b)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_04.rs (/opt/rustwide/target/debug/deps/advent_04-ed9c23085b5aebe2)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_05.rs (/opt/rustwide/target/debug/deps/advent_05-0c02454d9023b544)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_06.rs (/opt/rustwide/target/debug/deps/advent_06-cfdc90f0f0ff1f3f)
[INFO] [stderr]      Running unittests src/advent_07.rs (/opt/rustwide/target/debug/deps/advent_07-b3a0f4163da0dace)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_08.rs (/opt/rustwide/target/debug/deps/advent_08-157c15fbec8d2e02)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_09.rs (/opt/rustwide/target/debug/deps/advent_09-1e52e366259997e2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_10.rs (/opt/rustwide/target/debug/deps/advent_10-8a03cda4883da9a5)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_11.rs (/opt/rustwide/target/debug/deps/advent_11-038bd06a79147cd0)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_12.rs (/opt/rustwide/target/debug/deps/advent_12-14c851b6d5d6aa9e)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_13.rs (/opt/rustwide/target/debug/deps/advent_13-3820b8ba46dbb997)
[INFO] [stderr]      Running unittests src/advent_14.rs (/opt/rustwide/target/debug/deps/advent_14-4d1ec310d3dd9f46)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_15.rs (/opt/rustwide/target/debug/deps/advent_15-e31f367afe33b0f7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_16.rs (/opt/rustwide/target/debug/deps/advent_16-ebe58b7944995595)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/advent_17.rs (/opt/rustwide/target/debug/deps/advent_17-7e86955f60805327)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b32b32f39223f53a32fb5e1190d36761b7bbd98ec60b2dc77eb1ebc0ba047360", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b32b32f39223f53a32fb5e1190d36761b7bbd98ec60b2dc77eb1ebc0ba047360", kill_on_drop: false }`
[INFO] [stdout] b32b32f39223f53a32fb5e1190d36761b7bbd98ec60b2dc77eb1ebc0ba047360
