[INFO] cloning repository https://github.com/volyx/advent2020-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/volyx/advent2020-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvolyx%2Fadvent2020-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvolyx%2Fadvent2020-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2d22a37e8967a675e57273445a8e7c702e15f6d
[INFO] checking volyx/advent2020-rust against master#8a65ee08296b36342bf7c3cdc15312ccbc357227 for pr-142704
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvolyx%2Fadvent2020-rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/volyx/advent2020-rust on toolchain 8a65ee08296b36342bf7c3cdc15312ccbc357227
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/volyx/advent2020-rust
[INFO] finished tweaking git repo https://github.com/volyx/advent2020-rust
[INFO] tweaked toml for git repo https://github.com/volyx/advent2020-rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/volyx/advent2020-rust 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" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 233c9af1ebcb00df22fe02ee3c68a250217420d04441f33cb8cbbd659e70b020
[INFO] running `Command { std: "docker" "start" "-a" "233c9af1ebcb00df22fe02ee3c68a250217420d04441f33cb8cbbd659e70b020", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "233c9af1ebcb00df22fe02ee3c68a250217420d04441f33cb8cbbd659e70b020", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "233c9af1ebcb00df22fe02ee3c68a250217420d04441f33cb8cbbd659e70b020", kill_on_drop: false }`
[INFO] [stdout] 233c9af1ebcb00df22fe02ee3c68a250217420d04441f33cb8cbbd659e70b020
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8a65ee08296b36342bf7c3cdc15312ccbc357227" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95033bd4c9b00ccb52f3d041f06e0577b590c96e2f8231e7f6ea3fa3b1868df9
[INFO] running `Command { std: "docker" "start" "-a" "95033bd4c9b00ccb52f3d041f06e0577b590c96e2f8231e7f6ea3fa3b1868df9", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-playground v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: value assigned to `row_mid` is never read
[INFO] [stdout]   --> src/advent5/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut row_mid = 0;
[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 `col_mid` is never read
[INFO] [stdout]   --> src/advent5/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut col_mid = 0;
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `program` is never read
[INFO] [stdout]   --> src/advent8/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut program: Vec<String> = Vec::new();
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_index` is never read
[INFO] [stdout]   --> src/advent9/mod.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut current_index = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent1/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent2/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent3/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent4/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent5/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent6/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent7/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn part_2(bags: Vec<Bag>) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topological_find` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn topological_find(bags: &Vec<Bag>, current_bag: &str, count: & mut Cell<i32>, level: usize, multiplier: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn part_1(bags: Vec<Bag>) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bag` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn find_bag(bag: &Bag, bags_map: &Vec<Bag>, name: &str, level: usize) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bag` is never constructed
[INFO] [stdout]    --> src/advent7/mod.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | struct Bag {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Bag` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent8/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_program` is never used
[INFO] [stdout]   --> src/advent8/mod.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn check_program(lines: Vec<String>) -> (i32, bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let range = parts.get(0).unwrap().deref();
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:17:42
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let min = numbers.get(0).unwrap().deref().parse::<usize>().unwrap() - 1;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let max = numbers.get(1).unwrap().deref().parse::<usize>().unwrap() - 1;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let character = parts.get(1).unwrap().deref();
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent4/mod.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let key= key_value.get(0).unwrap().deref();
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent4/mod.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let value= key_value.get(1).unwrap().deref();
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/advent7/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |         bags.push(Bag {id: key_values[0].deref().to_string(), count: 0, children})
[INFO] [stdout]    |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Deref`, so calling `deref` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `row_mid` is never read
[INFO] [stdout]   --> src/advent5/mod.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut row_mid = 0;
[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 `col_mid` is never read
[INFO] [stdout]   --> src/advent5/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut col_mid = 0;
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `program` is never read
[INFO] [stdout]   --> src/advent8/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut program: Vec<String> = Vec::new();
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_index` is never read
[INFO] [stdout]   --> src/advent9/mod.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut current_index = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent1/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent2/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent3/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent4/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent5/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent6/mod.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent7/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_2` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn part_2(bags: Vec<Bag>) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topological_find` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn topological_find(bags: &Vec<Bag>, current_bag: &str, count: & mut Cell<i32>, level: usize, multiplier: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `part_1` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn part_1(bags: Vec<Bag>) {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bag` is never used
[INFO] [stdout]   --> src/advent7/mod.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn find_bag(bag: &Bag, bags_map: &Vec<Bag>, name: &str, level: usize) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bag` is never constructed
[INFO] [stdout]    --> src/advent7/mod.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | struct Bag {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Bag` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `solution` is never used
[INFO] [stdout]  --> src/advent8/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn solution() {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_program` is never used
[INFO] [stdout]   --> src/advent8/mod.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn check_program(lines: Vec<String>) -> (i32, bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let range = parts.get(0).unwrap().deref();
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:17:42
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let min = numbers.get(0).unwrap().deref().parse::<usize>().unwrap() - 1;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:18:42
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let max = numbers.get(1).unwrap().deref().parse::<usize>().unwrap() - 1;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent2/mod.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let character = parts.get(1).unwrap().deref();
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent4/mod.rs:35:47
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let key= key_value.get(0).unwrap().deref();
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type
[INFO] [stdout]   --> src/advent4/mod.rs:36:49
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let value= key_value.get(1).unwrap().deref();
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/advent7/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 34 |         bags.push(Bag {id: key_values[0].deref().to_string(), count: 0, children})
[INFO] [stdout]    |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Deref`, so calling `deref` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] running `Command { std: "docker" "inspect" "95033bd4c9b00ccb52f3d041f06e0577b590c96e2f8231e7f6ea3fa3b1868df9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95033bd4c9b00ccb52f3d041f06e0577b590c96e2f8231e7f6ea3fa3b1868df9", kill_on_drop: false }`
[INFO] [stdout] 95033bd4c9b00ccb52f3d041f06e0577b590c96e2f8231e7f6ea3fa3b1868df9
