[INFO] cloning repository https://github.com/Ilgmi/advent_of_code_2024
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ilgmi/advent_of_code_2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlgmi%2Fadvent_of_code_2024", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlgmi%2Fadvent_of_code_2024'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 29714a7875d6632aa1010e60b8b40b2932aebf53
[INFO] checking Ilgmi/advent_of_code_2024 against master#5a45ab9738330fb317d49e3594c2db5248b1e971 for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlgmi%2Fadvent_of_code_2024" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Ilgmi/advent_of_code_2024 on toolchain 5a45ab9738330fb317d49e3594c2db5248b1e971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Ilgmi/advent_of_code_2024
[INFO] finished tweaking git repo https://github.com/Ilgmi/advent_of_code_2024
[INFO] tweaked toml for git repo https://github.com/Ilgmi/advent_of_code_2024 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Ilgmi/advent_of_code_2024 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" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1d16bbe326068fc9ea71d164cd1762a50cdf37633b5f859a99c4464a572e9a5e
[INFO] running `Command { std: "docker" "start" "-a" "1d16bbe326068fc9ea71d164cd1762a50cdf37633b5f859a99c4464a572e9a5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1d16bbe326068fc9ea71d164cd1762a50cdf37633b5f859a99c4464a572e9a5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d16bbe326068fc9ea71d164cd1762a50cdf37633b5f859a99c4464a572e9a5e", kill_on_drop: false }`
[INFO] [stdout] 1d16bbe326068fc9ea71d164cd1762a50cdf37633b5f859a99c4464a572e9a5e
[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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09e27023f509fd4b872b8849f6a850e3b0a1f3240e4a3d1aa58ddfded162a72c
[INFO] running `Command { std: "docker" "start" "-a" "09e27023f509fd4b872b8849f6a850e3b0a1f3240e4a3d1aa58ddfded162a72c", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stderr]     Checking door_02 v0.1.0 (/opt/rustwide/workdir/door_02)
[INFO] [stderr]     Checking door_04 v0.1.0 (/opt/rustwide/workdir/door_04)
[INFO] [stderr]     Checking door_05 v0.1.0 (/opt/rustwide/workdir/door_05)
[INFO] [stderr]     Checking door_06 v0.1.0 (/opt/rustwide/workdir/door_06)
[INFO] [stderr]     Checking door_03 v0.1.0 (/opt/rustwide/workdir/door_03)
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_05/src/main.rs:58:31
[INFO] [stdout]    |
[INFO] [stdout] 58 |             for read_index in (0..index) {
[INFO] [stdout]    |                               ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             for read_index in (0..index) {
[INFO] [stdout] 58 +             for read_index in 0..index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_05/src/main.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |             for read_index in (0..index) {
[INFO] [stdout]    |                               ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 98 -             for read_index in (0..index) {
[INFO] [stdout] 98 +             for read_index in 0..index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let mut line = line.unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |             let mut line: Vec<i32> = line
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val_one` is never read
[INFO] [stdout]   --> door_02/src/main.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut val_one = line.get(0).unwrap();
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val_two` is never read
[INFO] [stdout]   --> door_02/src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut val_two = line.get(1).unwrap();
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut distance = val_one.sub(val_two).abs();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> door_04/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> door_04/src/main.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{AddAssign, Sub};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_05/src/main.rs:58:31
[INFO] [stdout]    |
[INFO] [stdout] 58 |             for read_index in (0..index) {
[INFO] [stdout]    |                               ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             for read_index in (0..index) {
[INFO] [stdout] 58 +             for read_index in 0..index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_05/src/main.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |             for read_index in (0..index) {
[INFO] [stdout]    |                               ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 98 -             for read_index in (0..index) {
[INFO] [stdout] 98 +             for read_index in 0..index {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> door_02/src/main.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for (index,(val, expect)) in vals.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> door_02/src/main.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |             let mut val: Vec<i32> = val
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> door_02/src/main.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for (index,(val, expect)) in vals.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `page` is never read
[INFO] [stdout]   --> door_05/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Rule {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 26 |     pub page: i32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> door_02/src/main.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let mut val: Vec<i32> = val
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> door_04/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> door_04/src/main.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{AddAssign, Sub};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_06/src/main.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     for y in (0..start_map.height) {
[INFO] [stdout]    |              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     for y in (0..start_map.height) {
[INFO] [stdout] 10 +     for y in 0..start_map.height {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_06/src/main.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |         for x in (0..start_map.width) {
[INFO] [stdout]    |                  ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 11 -         for x in (0..start_map.width) {
[INFO] [stdout] 11 +         for x in 0..start_map.width {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> door_03/src/main.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_06/src/main.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |     for y in (0..start_map.height) {
[INFO] [stdout]    |              ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     for y in (0..start_map.height) {
[INFO] [stdout] 10 +     for y in 0..start_map.height {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> door_06/src/main.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 |         for x in (0..start_map.width) {
[INFO] [stdout]    |                  ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 11 -         for x in (0..start_map.width) {
[INFO] [stdout] 11 +         for x in 0..start_map.width {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> door_03/src/main.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> door_03/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let t = lines.flatten().map(String::from).for_each(|line| {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `do_mul`
[INFO] [stdout]   --> door_03/src/main.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut do_mul = true;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_03/src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut chars = line.chars().collect::<Vec<char>>();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_03/src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut do_mul = true;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_do_dont` is never used
[INFO] [stdout]   --> door_03/src/main.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn count_do_dont(lines: Lines<BufReader<File>>) -> (i32, i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visited`
[INFO] [stdout]   --> door_06/src/main.rs:22:33
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     Field::Cell(visited) => *field = Field::Obstacle(None),
[INFO] [stdout]    |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> door_06/src/main.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let (mut start_map, guard) = read_file("door_06/input.txt");
[INFO] [stdout]   |          ----^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> door_06/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut start_guard = guard.expect("Some guard");
[INFO] [stdout]   |         ----^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ob_pos`
[INFO] [stdout]   --> door_06/src/main.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ob_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]   --> door_06/src/main.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]   --> door_06/src/main.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_06/src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                   ----^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]   --> door_04/src/main.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let one = {};
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_06/src/main.rs:43:49
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                                 ----^^^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Letter` is never constructed
[INFO] [stdout]   --> door_04/src/main.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct Letter {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check` are never used
[INFO] [stdout]   --> door_04/src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Letter {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 28 |     fn new(letter: char, x: i32, y: i32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn check(&self, l: &char) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> door_06/src/main.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut rows: &mut Vec<Field> = self.map.get_mut(y as usize).expect("expect row");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `page` is never read
[INFO] [stdout]   --> door_05/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Rule {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 26 |     pub page: i32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> door_04/src/main.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let count = check(&s, &p, &direction);
[INFO] [stdout]     |                     ^^^^^-------------------- argument #4 of type `&str` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> door_04/src/main.rs:90:4
[INFO] [stdout]     |
[INFO] [stdout] 90  | fn check(state: &Vec<Vec<char>>, index: &Position, direction: &Direction, word: &str) -> usize {
[INFO] [stdout]     |    ^^^^^ ----------------------  ----------------  ---------------------  ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let count = check(&s, &p, &direction, /* &str */);
[INFO] [stdout]     |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_ob_pos` is never used
[INFO] [stdout]   --> door_06/src/main.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]   --> door_04/src/main.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let one = {};
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> door_06/src/main.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn print(map: &Map) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_visited_fields` is never used
[INFO] [stdout]    --> door_06/src/main.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Map {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 105 |     pub(crate) fn get_visited_fields(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dir` is never constructed
[INFO] [stdout]    --> door_06/src/main.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct Dir {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_pos` is never read
[INFO] [stdout]    --> door_06/src/main.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct Guard {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 179 |     pub start_pos: Position,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Guard` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_pos` is never used
[INFO] [stdout]    --> door_06/src/main.rs:208:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Guard {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub(crate) fn get_current_pos(&self) -> Position {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]    --> door_06/src/main.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl Guard {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |             let mut line = line.unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |             let mut line: Vec<i32> = line
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val_one` is never read
[INFO] [stdout]   --> door_02/src/main.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut val_one = line.get(0).unwrap();
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val_two` is never read
[INFO] [stdout]   --> door_02/src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut val_two = line.get(1).unwrap();
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visited`
[INFO] [stdout]   --> door_06/src/main.rs:22:33
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     Field::Cell(visited) => *field = Field::Obstacle(None),
[INFO] [stdout]    |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_02/src/main.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut distance = val_one.sub(val_two).abs();
[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]  --> door_06/src/main.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let (mut start_map, guard) = read_file("door_06/input.txt");
[INFO] [stdout]   |          ----^^^^^^^^^
[INFO] [stdout]   |          |
[INFO] [stdout]   |          help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> door_03/src/main.rs:232:23
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let res = parse_line(&mut line);
[INFO] [stdout]     |                       ^^^^^^^^^^----------- argument #2 of type `&mut bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> door_03/src/main.rs:43:4
[INFO] [stdout]     |
[INFO] [stdout] 43  | fn parse_line(line: &str, do_mul: &mut bool) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^ ----------  -----------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let res = parse_line(&mut line, /* &mut bool */);
[INFO] [stdout]     |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> door_06/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let mut start_guard = guard.expect("Some guard");
[INFO] [stdout]   |         ----^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `door_04` (bin "door_04" test) due to 1 previous error; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> door_03/src/main.rs:248:23
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let res = parse_line(&mut line);
[INFO] [stdout]     |                       ^^^^^^^^^^----------- argument #2 of type `&mut bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> door_03/src/main.rs:43:4
[INFO] [stdout]     |
[INFO] [stdout] 43  | fn parse_line(line: &str, do_mul: &mut bool) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^ ----------  -----------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let res = parse_line(&mut line, /* &mut bool */);
[INFO] [stdout]     |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ob_pos`
[INFO] [stdout]   --> door_06/src/main.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ob_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]   --> door_06/src/main.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]   --> door_06/src/main.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_06/src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[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]   --> door_06/src/main.rs:43:49
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[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]    --> door_06/src/main.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut rows: &mut Vec<Field> = self.map.get_mut(y as usize).expect("expect row");
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> door_03/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let t = lines.flatten().map(String::from).for_each(|line| {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `do_mul`
[INFO] [stdout]   --> door_03/src/main.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut do_mul = true;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_03/src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut chars = line.chars().collect::<Vec<char>>();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> door_03/src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut do_mul = true;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_ob_pos` is never used
[INFO] [stdout]   --> door_06/src/main.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn check_ob_pos(ob_pos: Position, mut map: Map, mut guard: Guard) {}
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print` is never used
[INFO] [stdout]   --> door_06/src/main.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn print(map: &Map) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_visited_fields` is never used
[INFO] [stdout]    --> door_06/src/main.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Map {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 105 |     pub(crate) fn get_visited_fields(&self) -> usize {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dir` is never constructed
[INFO] [stdout]    --> door_06/src/main.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct Dir {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_pos` is never read
[INFO] [stdout]    --> door_06/src/main.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | struct Guard {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 179 |     pub start_pos: Position,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Guard` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_pos` is never used
[INFO] [stdout]    --> door_06/src/main.rs:208:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Guard {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub(crate) fn get_current_pos(&self) -> Position {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]    --> door_06/src/main.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | impl Guard {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> door_03/src/main.rs:173:13
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let mut tests = vec![
[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]    --> door_03/src/main.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let mut tests = vec![("do()", true, 3), ("dos)", false, 2)];
[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]    --> door_03/src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let mut tests = vec![("don't()", true, 6), ("dont()", false, 3)];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> door_03/src/main.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |             let end = test.1;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> door_03/src/main.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut tests = vec![
[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]    --> door_03/src/main.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let mut tests = vec![
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `door_03` (bin "door_03" test) due to 2 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "09e27023f509fd4b872b8849f6a850e3b0a1f3240e4a3d1aa58ddfded162a72c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09e27023f509fd4b872b8849f6a850e3b0a1f3240e4a3d1aa58ddfded162a72c", kill_on_drop: false }`
[INFO] [stdout] 09e27023f509fd4b872b8849f6a850e3b0a1f3240e4a3d1aa58ddfded162a72c
