[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] testing volyx/advent2020-rust against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvolyx%2Fadvent2020-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [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-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/volyx/advent2020-rust on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3e718e919421c97f962a80935d56db409e1686bedd4a0dce59be3c5c5dbd0b50 [INFO] running `Command { std: "docker" "start" "-a" "3e718e919421c97f962a80935d56db409e1686bedd4a0dce59be3c5c5dbd0b50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e718e919421c97f962a80935d56db409e1686bedd4a0dce59be3c5c5dbd0b50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e718e919421c97f962a80935d56db409e1686bedd4a0dce59be3c5c5dbd0b50", kill_on_drop: false }` [INFO] [stdout] 3e718e919421c97f962a80935d56db409e1686bedd4a0dce59be3c5c5dbd0b50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] b564cf26b7b371280d3d0fef5513b121d08df3e73bddd9bc64c6775709166a21 [INFO] running `Command { std: "docker" "start" "-a" "b564cf26b7b371280d3d0fef5513b121d08df3e73bddd9bc64c6775709166a21", kill_on_drop: false }` [INFO] [stderr] Compiling 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 = 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) { [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, current_bag: &str, count: & mut Cell, 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) { [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, 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) -> (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::().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::().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.55s [INFO] running `Command { std: "docker" "inspect" "b564cf26b7b371280d3d0fef5513b121d08df3e73bddd9bc64c6775709166a21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b564cf26b7b371280d3d0fef5513b121d08df3e73bddd9bc64c6775709166a21", kill_on_drop: false }` [INFO] [stdout] b564cf26b7b371280d3d0fef5513b121d08df3e73bddd9bc64c6775709166a21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] f7790ee2cf524ede203647ce046286b97bde295452c6c6705a0c0760007b4858 [INFO] running `Command { std: "docker" "start" "-a" "f7790ee2cf524ede203647ce046286b97bde295452c6c6705a0c0760007b4858", kill_on_drop: false }` [INFO] [stderr] Compiling 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 = 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) { [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, current_bag: &str, count: & mut Cell, 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) { [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, 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) -> (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::().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::().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 `test` profile [unoptimized + debuginfo] target(s) in 0.69s [INFO] running `Command { std: "docker" "inspect" "f7790ee2cf524ede203647ce046286b97bde295452c6c6705a0c0760007b4858", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7790ee2cf524ede203647ce046286b97bde295452c6c6705a0c0760007b4858", kill_on_drop: false }` [INFO] [stdout] f7790ee2cf524ede203647ce046286b97bde295452c6c6705a0c0760007b4858 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 0215fa7a3b003e1b5eb8bf67cc3d9506e94b9c73cf693ecde7fa98f9a00ef25b [INFO] running `Command { std: "docker" "start" "-a" "0215fa7a3b003e1b5eb8bf67cc3d9506e94b9c73cf693ecde7fa98f9a00ef25b", kill_on_drop: false }` [INFO] [stderr] warning: value assigned to `row_mid` is never read [INFO] [stderr] --> src/advent5/mod.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | let mut row_mid = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `col_mid` is never read [INFO] [stderr] --> src/advent5/mod.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | let mut col_mid = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `program` is never read [INFO] [stderr] --> src/advent8/mod.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | let mut program: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `current_index` is never read [INFO] [stderr] --> src/advent9/mod.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | let mut current_index = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent1/mod.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent2/mod.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent3/mod.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent4/mod.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent5/mod.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent6/mod.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent7/mod.rs:7:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part_2` is never used [INFO] [stderr] --> src/advent7/mod.rs:45:4 [INFO] [stderr] | [INFO] [stderr] 45 | fn part_2(bags: Vec) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `topological_find` is never used [INFO] [stderr] --> src/advent7/mod.rs:54:4 [INFO] [stderr] | [INFO] [stderr] 54 | fn topological_find(bags: &Vec, current_bag: &str, count: & mut Cell, level: usize, multiplier: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `part_1` is never used [INFO] [stderr] --> src/advent7/mod.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn part_1(bags: Vec) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `find_bag` is never used [INFO] [stderr] --> src/advent7/mod.rs:99:4 [INFO] [stderr] | [INFO] [stderr] 99 | fn find_bag(bag: &Bag, bags_map: &Vec, name: &str, level: usize) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Bag` is never constructed [INFO] [stderr] --> src/advent7/mod.rs:126:8 [INFO] [stderr] | [INFO] [stderr] 126 | struct Bag { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Bag` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `solution` is never used [INFO] [stderr] --> src/advent8/mod.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn solution() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `check_program` is never used [INFO] [stderr] --> src/advent8/mod.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | fn check_program(lines: Vec) -> (i32, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent2/mod.rs:13:42 [INFO] [stderr] | [INFO] [stderr] 13 | let range = parts.get(0).unwrap().deref(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent2/mod.rs:17:42 [INFO] [stderr] | [INFO] [stderr] 17 | let min = numbers.get(0).unwrap().deref().parse::().unwrap() - 1; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent2/mod.rs:18:42 [INFO] [stderr] | [INFO] [stderr] 18 | let max = numbers.get(1).unwrap().deref().parse::().unwrap() - 1; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent2/mod.rs:20:46 [INFO] [stderr] | [INFO] [stderr] 20 | let character = parts.get(1).unwrap().deref(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent4/mod.rs:35:47 [INFO] [stderr] | [INFO] [stderr] 35 | let key= key_value.get(0).unwrap().deref(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.deref()` on a double reference, which returns `&str` instead of dereferencing the inner type [INFO] [stderr] --> src/advent4/mod.rs:36:49 [INFO] [stderr] | [INFO] [stderr] 36 | let value= key_value.get(1).unwrap().deref(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stderr] --> src/advent7/mod.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | bags.push(Bag {id: key_values[0].deref().to_string(), count: 0, children}) [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-playground` (bin "rust-playground" test) generated 25 warnings (run `cargo fix --bin "rust-playground" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rust_playground-16b5a9140d4f78d2) [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" "0215fa7a3b003e1b5eb8bf67cc3d9506e94b9c73cf693ecde7fa98f9a00ef25b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0215fa7a3b003e1b5eb8bf67cc3d9506e94b9c73cf693ecde7fa98f9a00ef25b", kill_on_drop: false }` [INFO] [stdout] 0215fa7a3b003e1b5eb8bf67cc3d9506e94b9c73cf693ecde7fa98f9a00ef25b