[INFO] cloning repository https://github.com/jakulej/AoC2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jakulej/AoC2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakulej%2FAoC2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakulej%2FAoC2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 327533acaff9fdfe7aacf66d0e49a2a57844afb8 [INFO] linting jakulej/AoC2024 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakulej%2FAoC2024" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jakulej/AoC2024 [INFO] finished tweaking git repo https://github.com/jakulej/AoC2024 [INFO] tweaked toml for git repo https://github.com/jakulej/AoC2024 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jakulej/AoC2024 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jakulej/AoC2024 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05327df0ed35c42e2ff5141491e7b0496d1b9ad00ad67fb1954793a35d66d9c9 [INFO] running `Command { std: "docker" "start" "-a" "05327df0ed35c42e2ff5141491e7b0496d1b9ad00ad67fb1954793a35d66d9c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05327df0ed35c42e2ff5141491e7b0496d1b9ad00ad67fb1954793a35d66d9c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05327df0ed35c42e2ff5141491e7b0496d1b9ad00ad67fb1954793a35d66d9c9", kill_on_drop: false }` [INFO] [stdout] 05327df0ed35c42e2ff5141491e7b0496d1b9ad00ad67fb1954793a35d66d9c9 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6caf429557d9be798cca17e51eb39c38bf24db0637ee9e6e8b47ac76dcee9498 [INFO] running `Command { std: "docker" "start" "-a" "6caf429557d9be798cca17e51eb39c38bf24db0637ee9e6e8b47ac76dcee9498", kill_on_drop: false }` [INFO] [stderr] Checking advent_2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: using `clone` on type `[&str; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/04/04b.rs:42:94 [INFO] [stdout] | [INFO] [stdout] 42 | if PATTERNS.iter().any(|pattern| is_pattern_matching(input_file.clone(), pattern.clone(), (x, y))){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*pattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/03/03b.rs:28:30 [INFO] [stdout] | [INFO] [stdout] 28 | ... .fold(1, |acc, x| acc * x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BEGIN_TRACK` is never used [INFO] [stdout] --> src/10/10a.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BEGIN_TRACK: u8 = 0u8; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/10/10a.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::Add, u8}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().count()` on a `Vec` [INFO] [stdout] --> src/10/10a.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | tracks.iter().count() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tracks.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_count [INFO] [stdout] = note: `#[warn(clippy::iter_count)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/11/11a.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | for i in 0..BLINK_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/10/10a.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 91 - fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] 91 + fn is_on_map(map: &[Vec], coords: &Coords) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/11/11a.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | fn blink (stones: &Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 16 - fn blink (stones: &Vec) -> Vec{ [INFO] [stdout] 16 + fn blink (stones: &[usize]) -> Vec{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | return Rules::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - return Rules::Zero; [INFO] [stdout] 33 + Rules::Zero [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | return Rules::Even; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return Rules::Even; [INFO] [stdout] 36 + Rules::Even [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return Rules::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return Rules::Other; [INFO] [stdout] 38 + Rules::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BEGIN_TRACK` is never used [INFO] [stdout] --> src/10/10a.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BEGIN_TRACK: u8 = 0u8; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/10/10a.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::Add, u8}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().count()` on a `Vec` [INFO] [stdout] --> src/10/10a.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | tracks.iter().count() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tracks.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_count [INFO] [stdout] = note: `#[warn(clippy::iter_count)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10a.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/10/10a.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 91 - fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] 91 + fn is_on_map(map: &[Vec], coords: &Coords) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07a.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 39 + fn calculate_score(operations: &[Operation], numbers: &Vec) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07a.rs:39:58 [INFO] [stdout] | [INFO] [stdout] 39 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 39 + fn calculate_score(operations: &Vec, numbers: &[usize]) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_safety` is never used [INFO] [stdout] --> src/02/02a.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn check_safety(raport_levels: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BEGIN_TRACK` is never used [INFO] [stdout] --> src/10/10b.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BEGIN_TRACK: u8 = 0u8; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/10/10b.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::Add, u8}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().count()` on a `Vec` [INFO] [stdout] --> src/10/10b.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | tracks.iter().count() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tracks.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_count [INFO] [stdout] = note: `#[warn(clippy::iter_count)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/10/10b.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | return Some(end_track); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return Some(end_track); [INFO] [stdout] 87 + Some(end_track) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/10/10b.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] 93 + fn is_on_map(map: &[Vec], coords: &Coords) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found `.or(Some(…)).unwrap()` [INFO] [stdout] --> src/01/01b.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 22 | n * second_numbers_occurrences.get(n).or(Some(&0)).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or(&0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_then_unwrap [INFO] [stdout] = note: `#[warn(clippy::or_then_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/03/03a.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | .fold(1, |acc, x| acc * x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_update` is never used [INFO] [stdout] --> src/05/05b.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn sort_update(mut updates: Vec, updates_order: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `isSafe` should have a snake case name [INFO] [stdout] --> src/02/02b.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | let isSafe:bool = check_safety(raport_levels,0); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `is_safe` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_orders` is never used [INFO] [stdout] --> src/05/05a.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn sort_orders(number_orders: HashMap>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_update` is never used [INFO] [stdout] --> src/05/05a.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn sort_update(mut updates: Vec, updates_order: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/05/05b.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 14 | | vec.push(second_digit.parse::().unwrap()); [INFO] [stdout] | |_________________________________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/05/05b.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 29 - print!("\n"); [INFO] [stdout] 29 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/05/05a.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 14 | | vec.push(second_digit.parse::().unwrap()); [INFO] [stdout] | |_________________________________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05a.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 36 - fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] 36 + fn is_sorted(updates: &[usize], updates_order: &HashMap>) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05b.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] 43 + fn is_sorted(updates: &[usize], updates_order: &HashMap>) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05b.rs:53:32 [INFO] [stdout] | [INFO] [stdout] 53 | fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 53 - fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] 53 + fn get_middle_element(updates: &[usize]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05a.rs:46:32 [INFO] [stdout] | [INFO] [stdout] 46 | fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 46 - fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] 46 + fn get_middle_element(updates: &[usize]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `number_orders [INFO] [stdout] .get(sorted_vaules.last().unwrap()) [INFO] [stdout] .unwrap().get(0)` [INFO] [stdout] --> src/05/05a.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | *number_orders [INFO] [stdout] | __________^ [INFO] [stdout] 70 | | .get(sorted_vaules.last().unwrap()) [INFO] [stdout] 71 | | .unwrap() [INFO] [stdout] 72 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 69 ~ *number_orders [INFO] [stdout] 70 + .get(sorted_vaules.last().unwrap()) [INFO] [stdout] 71 + .unwrap().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 72 - fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] 72 + fn find_guard(map: &[Vec]) -> Option<(usize,usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `map` [INFO] [stdout] --> src/06/06b.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | for y in 0..map.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 74 - for y in 0..map.len() { [INFO] [stdout] 74 + for (y, ) in map.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 82 - fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] 82 + fn is_obstacle(map: &[Vec], position: &(usize,usize)) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:87:42 [INFO] [stdout] | [INFO] [stdout] 87 | fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 87 - fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] 87 + fn is_on_map(cords: &(usize,usize), map: &[Vec]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(usize, usize)` which implements the `Copy` trait [INFO] [stdout] --> src/06/06b.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | let mut guard_coords = guard_start_params.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard_start_params.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/06/06b.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | let x_to_check = (guard_coords.0 as isize + &guard_facing.get_direction_vec().0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `guard_facing.get_direction_vec().0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/06/06b.rs:99:26 [INFO] [stdout] | [INFO] [stdout] 99 | let y_to_check = (guard_coords.1 as isize + &guard_facing.get_direction_vec().1) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `guard_facing.get_direction_vec().1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/06/06b.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | if !is_on_map(&coords, &map){ [INFO] [stdout] | ^^^^ help: change this to: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/06/06b.rs:107:24 [INFO] [stdout] | [INFO] [stdout] 107 | if is_obstacle(&map, &coords) { [INFO] [stdout] | ^^^^ help: change this to: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(usize, usize)` which implements the `Copy` trait [INFO] [stdout] --> src/06/06b.rs:109:29 [INFO] [stdout] | [INFO] [stdout] 109 | let obstacle = (guard_coords.clone(),guard_facing.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:129:34 [INFO] [stdout] | [INFO] [stdout] 129 | fn create_map_with_obstacle(map: &Vec>, obstacle_pos: &(usize,usize)) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 129 ~ fn create_map_with_obstacle(map: &[Vec], obstacle_pos: &(usize,usize)) -> Vec> { [INFO] [stdout] 130 ~ let mut map_with_obstacle = map.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `isSafe` should have a snake case name [INFO] [stdout] --> src/02/02b.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | let isSafe:bool = check_safety(raport_levels,0); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `is_safe` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BEGIN_TRACK` is never used [INFO] [stdout] --> src/10/10b.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BEGIN_TRACK: u8 = 0u8; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/10/10b.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{ops::Add, u8}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u8::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.iter().count()` on a `Vec` [INFO] [stdout] --> src/10/10b.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | tracks.iter().count() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tracks.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_count [INFO] [stdout] = note: `#[warn(clippy::iter_count)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Coords` which implements the `Copy` trait [INFO] [stdout] --> src/10/10b.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | current_coords.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*current_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/11/11a.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | for i in 0..BLINK_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/10/10b.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | return Some(end_track); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return Some(end_track); [INFO] [stdout] 87 + Some(end_track) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/10/10b.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - fn is_on_map(map: &Vec>, coords: &Coords) -> bool { [INFO] [stdout] 93 + fn is_on_map(map: &[Vec], coords: &Coords) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/11/11a.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | fn blink (stones: &Vec) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 16 - fn blink (stones: &Vec) -> Vec{ [INFO] [stdout] 16 + fn blink (stones: &[usize]) -> Vec{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | return Rules::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - return Rules::Zero; [INFO] [stdout] 33 + Rules::Zero [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | return Rules::Even; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 36 - return Rules::Even; [INFO] [stdout] 36 + Rules::Even [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11a.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return Rules::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return Rules::Other; [INFO] [stdout] 38 + Rules::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09b.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | Some(i* (*data as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `*data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09b.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut list: LinkedList = multiply_byte((index/2) as usize, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((index/2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/03/03a.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | .fold(1, |acc, x| acc * x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_safety` is never used [INFO] [stdout] --> src/02/02a.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn check_safety(raport_levels: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/09/09b.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | / match space_to_insert{ [INFO] [stdout] 56 | | Some((index_to_insert,_)) => relocate_data(*index_to_insert,(*number,(*data_index,*data_size)), &mut formatted_disk), [INFO] [stdout] 57 | | None => {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________^ help: try: `if let Some((index_to_insert,_)) = space_to_insert { relocate_data(*index_to_insert,(*number,(*data_index,*data_size)), &mut formatted_disk) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:64:83 [INFO] [stdout] | [INFO] [stdout] 64 | fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut Vec){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut Vec){ [INFO] [stdout] 64 + fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut [usize]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | fn find_empty_space(disk: &Vec) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 72 - fn find_empty_space(disk: &Vec) -> BTreeMap { [INFO] [stdout] 72 + fn find_empty_space(disk: &[usize]) -> BTreeMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/11/11b.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, LinkedList}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn find_data(disk: &Vec) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 88 - fn find_data(disk: &Vec) -> BTreeMap { [INFO] [stdout] 88 + fn find_data(disk: &[usize]) -> BTreeMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 72 - fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] 72 + fn find_guard(map: &[Vec]) -> Option<(usize,usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `map` [INFO] [stdout] --> src/06/06b.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | for y in 0..map.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 74 - for y in 0..map.len() { [INFO] [stdout] 74 + for (y, ) in map.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 82 - fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] 82 + fn is_obstacle(map: &[Vec], position: &(usize,usize)) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:87:42 [INFO] [stdout] | [INFO] [stdout] 87 | fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 87 - fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] 87 + fn is_on_map(cords: &(usize,usize), map: &[Vec]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(usize, usize)` which implements the `Copy` trait [INFO] [stdout] --> src/06/06b.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | let mut guard_coords = guard_start_params.0.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard_start_params.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/06/06b.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | let x_to_check = (guard_coords.0 as isize + &guard_facing.get_direction_vec().0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `guard_facing.get_direction_vec().0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/06/06b.rs:99:26 [INFO] [stdout] | [INFO] [stdout] 99 | let y_to_check = (guard_coords.1 as isize + &guard_facing.get_direction_vec().1) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `guard_facing.get_direction_vec().1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/06/06b.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | if !is_on_map(&coords, &map){ [INFO] [stdout] | ^^^^ help: change this to: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/06/06b.rs:107:24 [INFO] [stdout] | [INFO] [stdout] 107 | if is_obstacle(&map, &coords) { [INFO] [stdout] | ^^^^ help: change this to: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `(usize, usize)` which implements the `Copy` trait [INFO] [stdout] --> src/06/06b.rs:109:29 [INFO] [stdout] | [INFO] [stdout] 109 | let obstacle = (guard_coords.clone(),guard_facing.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `guard_coords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06b.rs:129:34 [INFO] [stdout] | [INFO] [stdout] 129 | fn create_map_with_obstacle(map: &Vec>, obstacle_pos: &(usize,usize)) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 129 ~ fn create_map_with_obstacle(map: &[Vec], obstacle_pos: &(usize,usize)) -> Vec> { [INFO] [stdout] 130 ~ let mut map_with_obstacle = map.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_map::Values<'_, u8, std::vec::Vec<(usize, usize)>>` [INFO] [stdout] --> src/08/08b.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | antennas.values().into_iter().for_each(|antennas_frequencies| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `antennas.values()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/08/08b.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | if !(first_antenna_cords==second_antenna_cords){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(first_antenna_cords != second_antenna_cords)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/08/08b.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] 39 + fn get_antennas_hashmap(map: &[Vec]) -> HashMap> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/08/08b.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | / let mut vec: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 51 | | vec.push((x, y)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec<(usize, usize)> = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07b.rs:43:32 [INFO] [stdout] | [INFO] [stdout] 43 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 43 + fn calculate_score(operations: &[Operation], numbers: &Vec) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07b.rs:43:58 [INFO] [stdout] | [INFO] [stdout] 43 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 43 + fn calculate_score(operations: &Vec, numbers: &[usize]) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/11/11b.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | for i in 0..BLINK_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/06/06a.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_guard_on_map:bool = true; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_guard_on_map` [INFO] [stdout] --> src/06/06a.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_guard_on_map:bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_guard_on_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_update` is never used [INFO] [stdout] --> src/05/05b.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn sort_update(mut updates: Vec, updates_order: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07b.rs:43:32 [INFO] [stdout] | [INFO] [stdout] 43 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 43 + fn calculate_score(operations: &[Operation], numbers: &Vec) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07b.rs:43:58 [INFO] [stdout] | [INFO] [stdout] 43 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 43 + fn calculate_score(operations: &Vec, numbers: &[usize]) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LinkedList` [INFO] [stdout] --> src/11/11b.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, LinkedList}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/05/05b.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 14 | | vec.push(second_digit.parse::().unwrap()); [INFO] [stdout] | |_________________________________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/05/05b.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 29 - print!("\n"); [INFO] [stdout] 29 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return Rules::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Rules::Zero; [INFO] [stdout] 42 + Rules::Zero [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | return Rules::Even; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 - return Rules::Even; [INFO] [stdout] 45 + Rules::Even [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | return Rules::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return Rules::Other; [INFO] [stdout] 47 + Rules::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 65 | fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 65 - fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] 65 + fn find_guard(map: &[Vec]) -> Option<(usize,usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: found `.or(Some(…)).unwrap()` [INFO] [stdout] --> src/01/01b.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 22 | n * second_numbers_occurrences.get(n).or(Some(&0)).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or(&0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_then_unwrap [INFO] [stdout] = note: `#[warn(clippy::or_then_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_map::Values<'_, u8, std::vec::Vec<(usize, usize)>>` [INFO] [stdout] --> src/08/08a.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | antennas.values().into_iter().for_each(|antennas_frequencies| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `antennas.values()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/08/08a.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | if !(first_antenna_cords==second_antenna_cords){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(first_antenna_cords != second_antenna_cords)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05b.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 43 - fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] 43 + fn is_sorted(updates: &[usize], updates_order: &HashMap>) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/08/08a.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 34 - fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] 34 + fn get_antennas_hashmap(map: &[Vec]) -> HashMap> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `map` [INFO] [stdout] --> src/06/06a.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | for y in 0..map.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 67 - for y in 0..map.len() { [INFO] [stdout] 67 + for (y, ) in map.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 75 - fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] 75 + fn is_obstacle(map: &[Vec], position: &(usize,usize)) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/08/08a.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | / let mut vec: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 46 | | vec.push((x, y)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec<(usize, usize)> = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05b.rs:53:32 [INFO] [stdout] | [INFO] [stdout] 53 | fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 53 - fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] 53 + fn get_middle_element(updates: &[usize]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:80:42 [INFO] [stdout] | [INFO] [stdout] 80 | fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 80 - fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] 80 + fn is_on_map(cords: &(usize,usize), map: &[Vec]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[&str; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/04/04b.rs:42:94 [INFO] [stdout] | [INFO] [stdout] 42 | if PATTERNS.iter().any(|pattern| is_pattern_matching(input_file.clone(), pattern.clone(), (x, y))){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*pattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/11/11b.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | for i in 0..BLINK_COUNT { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07a.rs:39:32 [INFO] [stdout] | [INFO] [stdout] 39 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 39 + fn calculate_score(operations: &[Operation], numbers: &Vec) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/07/07a.rs:39:58 [INFO] [stdout] | [INFO] [stdout] 39 | fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn calculate_score(operations: &Vec, numbers: &Vec) ->usize{ [INFO] [stdout] 39 + fn calculate_score(operations: &Vec, numbers: &[usize]) ->usize{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> src/03/03b.rs:28:30 [INFO] [stdout] | [INFO] [stdout] 28 | ... .fold(1, |acc, x| acc * x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `product::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fold)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return Rules::Zero; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Rules::Zero; [INFO] [stdout] 42 + Rules::Zero [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | return Rules::Even; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 - return Rules::Even; [INFO] [stdout] 45 + Rules::Even [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_map::Values<'_, u8, std::vec::Vec<(usize, usize)>>` [INFO] [stdout] --> src/08/08a.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | antennas.values().into_iter().for_each(|antennas_frequencies| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `antennas.values()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/11/11b.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | return Rules::Other; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return Rules::Other; [INFO] [stdout] 47 + Rules::Other [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/08/08a.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | if !(first_antenna_cords==second_antenna_cords){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(first_antenna_cords != second_antenna_cords)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/08/08a.rs:34:30 [INFO] [stdout] | [INFO] [stdout] 34 | fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 34 - fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] 34 + fn get_antennas_hashmap(map: &[Vec]) -> HashMap> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/08/08a.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | / let mut vec: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 46 | | vec.push((x, y)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec<(usize, usize)> = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/06/06a.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_guard_on_map:bool = true; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_guard_on_map` [INFO] [stdout] --> src/06/06a.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut is_guard_on_map:bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_guard_on_map` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 65 | fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 65 - fn find_guard(map: &Vec>) -> Option<(usize,usize)> { [INFO] [stdout] 65 + fn find_guard(map: &[Vec]) -> Option<(usize,usize)> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `map` [INFO] [stdout] --> src/06/06a.rs:67:17 [INFO] [stdout] | [INFO] [stdout] 67 | for y in 0..map.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 67 - for y in 0..map.len() { [INFO] [stdout] 67 + for (y, ) in map.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 75 - fn is_obstacle(map: &Vec>, position: &(usize,usize)) -> bool { [INFO] [stdout] 75 + fn is_obstacle(map: &[Vec], position: &(usize,usize)) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/06/06a.rs:80:42 [INFO] [stdout] | [INFO] [stdout] 80 | fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 80 - fn is_on_map(cords: &(usize,usize), map: &Vec>) -> bool { [INFO] [stdout] 80 + fn is_on_map(cords: &(usize,usize), map: &[Vec]) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09b.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | Some(i* (*data as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `*data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09b.rs:32:65 [INFO] [stdout] | [INFO] [stdout] 32 | let mut list: LinkedList = multiply_byte((index/2) as usize, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((index/2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/09/09b.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | / match space_to_insert{ [INFO] [stdout] 56 | | Some((index_to_insert,_)) => relocate_data(*index_to_insert,(*number,(*data_index,*data_size)), &mut formatted_disk), [INFO] [stdout] 57 | | None => {} [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________^ help: try: `if let Some((index_to_insert,_)) = space_to_insert { relocate_data(*index_to_insert,(*number,(*data_index,*data_size)), &mut formatted_disk) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:64:83 [INFO] [stdout] | [INFO] [stdout] 64 | fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut Vec){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut Vec){ [INFO] [stdout] 64 + fn relocate_data(free_space_index: usize, data_info: (usize,(usize,usize)), disk: &mut [usize]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | fn find_empty_space(disk: &Vec) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 72 - fn find_empty_space(disk: &Vec) -> BTreeMap { [INFO] [stdout] 72 + fn find_empty_space(disk: &[usize]) -> BTreeMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/09/09b.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | fn find_data(disk: &Vec) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 88 - fn find_data(disk: &Vec) -> BTreeMap { [INFO] [stdout] 88 + fn find_data(disk: &[usize]) -> BTreeMap { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09a.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | Some(i* (*data as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `*data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09a.rs:29:65 [INFO] [stdout] | [INFO] [stdout] 29 | let mut list: LinkedList = multiply_byte((index/2) as usize, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((index/2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/09/09a.rs:45:29 [INFO] [stdout] | [INFO] [stdout] 45 | let last_data_pos = formatted_disk.len() - &formatted_disk.iter().rev().position(|b| b !=&FREE_SPACE).unwrap() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `formatted_disk.iter().rev().position(|b| b !=&FREE_SPACE).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_orders` is never used [INFO] [stdout] --> src/05/05a.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn sort_orders(number_orders: HashMap>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09a.rs:9:21 [INFO] [stdout] | [INFO] [stdout] 9 | Some(i* (*data as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `*data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_update` is never used [INFO] [stdout] --> src/05/05a.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | fn sort_update(mut updates: Vec, updates_order: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/05/05a.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / let mut vec: Vec = Vec::new(); [INFO] [stdout] 14 | | vec.push(second_digit.parse::().unwrap()); [INFO] [stdout] | |_________________________________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/09/09a.rs:29:65 [INFO] [stdout] | [INFO] [stdout] 29 | let mut list: LinkedList = multiply_byte((index/2) as usize, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((index/2))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05a.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 36 - fn is_sorted(updates: &Vec, updates_order: &HashMap>) -> bool { [INFO] [stdout] 36 + fn is_sorted(updates: &[usize], updates_order: &HashMap>) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/09/09a.rs:45:29 [INFO] [stdout] | [INFO] [stdout] 45 | let last_data_pos = formatted_disk.len() - &formatted_disk.iter().rev().position(|b| b !=&FREE_SPACE).unwrap() - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `formatted_disk.iter().rev().position(|b| b !=&FREE_SPACE).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/05/05a.rs:46:32 [INFO] [stdout] | [INFO] [stdout] 46 | fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 46 - fn get_middle_element(updates: &Vec) -> usize { [INFO] [stdout] 46 + fn get_middle_element(updates: &[usize]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `number_orders [INFO] [stdout] .get(sorted_vaules.last().unwrap()) [INFO] [stdout] .unwrap().get(0)` [INFO] [stdout] --> src/05/05a.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | *number_orders [INFO] [stdout] | __________^ [INFO] [stdout] 70 | | .get(sorted_vaules.last().unwrap()) [INFO] [stdout] 71 | | .unwrap() [INFO] [stdout] 72 | | .get(0) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 69 ~ *number_orders [INFO] [stdout] 70 + .get(sorted_vaules.last().unwrap()) [INFO] [stdout] 71 + .unwrap().first() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::collections::hash_map::Values<'_, u8, std::vec::Vec<(usize, usize)>>` [INFO] [stdout] --> src/08/08b.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | antennas.values().into_iter().for_each(|antennas_frequencies| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `antennas.values()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/08/08b.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | if !(first_antenna_cords==second_antenna_cords){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(first_antenna_cords != second_antenna_cords)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/08/08b.rs:39:30 [INFO] [stdout] | [INFO] [stdout] 39 | fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 39 - fn get_antennas_hashmap(map: &Vec>) -> HashMap> { [INFO] [stdout] 39 + fn get_antennas_hashmap(map: &[Vec]) -> HashMap> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/08/08b.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | / let mut vec: Vec<(usize, usize)> = Vec::new(); [INFO] [stdout] 51 | | vec.push((x, y)); [INFO] [stdout] | |_________________________________________^ help: consider using the `vec![]` macro: `let vec: Vec<(usize, usize)> = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.63s [INFO] running `Command { std: "docker" "inspect" "6caf429557d9be798cca17e51eb39c38bf24db0637ee9e6e8b47ac76dcee9498", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6caf429557d9be798cca17e51eb39c38bf24db0637ee9e6e8b47ac76dcee9498", kill_on_drop: false }` [INFO] [stdout] 6caf429557d9be798cca17e51eb39c38bf24db0637ee9e6e8b47ac76dcee9498