[INFO] cloning repository https://github.com/Jerome-Paddick/aoc_2023_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jerome-Paddick/aoc_2023_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJerome-Paddick%2Faoc_2023_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJerome-Paddick%2Faoc_2023_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2feefad7d1ecd90d8b814c6264166e1f4d607062 [INFO] linting Jerome-Paddick/aoc_2023_rust/2feefad7d1ecd90d8b814c6264166e1f4d607062 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJerome-Paddick%2Faoc_2023_rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Jerome-Paddick/aoc_2023_rust [INFO] finished tweaking git repo https://github.com/Jerome-Paddick/aoc_2023_rust [INFO] tweaked toml for git repo https://github.com/Jerome-Paddick/aoc_2023_rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Jerome-Paddick/aoc_2023_rust 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/Jerome-Paddick/aoc_2023_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9156c0f6413d7d5a0145e9b9643256c343b952e0e340a92cf2a85a15cea60d8 [INFO] running `Command { std: "docker" "start" "-a" "d9156c0f6413d7d5a0145e9b9643256c343b952e0e340a92cf2a85a15cea60d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9156c0f6413d7d5a0145e9b9643256c343b952e0e340a92cf2a85a15cea60d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9156c0f6413d7d5a0145e9b9643256c343b952e0e340a92cf2a85a15cea60d8", kill_on_drop: false }` [INFO] [stdout] d9156c0f6413d7d5a0145e9b9643256c343b952e0e340a92cf2a85a15cea60d8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 309d4667cd591db3eddc4d6df0457fbd068f885051ad9b0844e094d25c44b127 [INFO] running `Command { std: "docker" "start" "-a" "309d4667cd591db3eddc4d6df0457fbd068f885051ad9b0844e094d25c44b127", kill_on_drop: false }` [INFO] [stderr] Checking aoc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/day_3.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | if c >= 'a' && c <= 'z' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/day_3.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | } else if c >= 'A' && c <= 'Z' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day_4.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] | ____________^ [INFO] [stdout] 56 | | (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] | |__________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 55 - if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] 56 - (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] 55 + if !(range_2.0 > range_1.1 || range_1.0 > range_2.0 && range_1.0 > range_2.1) { [INFO] [stdout] | [INFO] [stdout] 55 - if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] 56 - (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] 55 + if (range_1.0 <= range_2.1 || range_1.0 <= range_2.0) && range_2.0 <= range_1.1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_6.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_6.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_7.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_7.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | while let Some(byte_result) = bytes.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | let reader = BufReader::new(file); [INFO] [stdout] | ---------------------------------- unnecessary `let` binding [INFO] [stdout] 18 | reader [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 17 ~ [INFO] [stdout] 18 ~ BufReader::new(file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 10 | let file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return BufReader::new(file); [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] 35 - return BufReader::new(file); [INFO] [stdout] 35 + BufReader::new(file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | let file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | match read(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/day_3.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | if c >= 'a' && c <= 'z' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/day_3.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | } else if c >= 'A' && c <= 'Z' { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/day_4.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] | ____________^ [INFO] [stdout] 56 | | (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] | |__________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 55 - if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] 56 - (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] 55 + if !(range_2.0 > range_1.1 || range_1.0 > range_2.0 && range_1.0 > range_2.1) { [INFO] [stdout] | [INFO] [stdout] 55 - if (range_1.0 <= range_2.0 && range_2.0 <= range_1.1) || [INFO] [stdout] 56 - (range_1.0 <= range_2.1 && range_2.0 <= range_1.1) { [INFO] [stdout] 55 + if (range_1.0 <= range_2.1 || range_1.0 <= range_2.0) && range_2.0 <= range_1.1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_5.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | while let Some(line_result) = lines.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for line_result in lines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_6.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_6.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_7.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | while let Some(byte_result) = bytes.next(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/day_7.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | while let Some(byte_result) = bytes.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for byte_result in bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | let reader = BufReader::new(file); [INFO] [stdout] | ---------------------------------- unnecessary `let` binding [INFO] [stdout] 18 | reader [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 17 ~ [INFO] [stdout] 18 ~ BufReader::new(file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 10 | let file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return BufReader::new(file); [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] 35 - return BufReader::new(file); [INFO] [stdout] 35 + BufReader::new(file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | let file = match File::open(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/utils.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | match read(&path) { [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "309d4667cd591db3eddc4d6df0457fbd068f885051ad9b0844e094d25c44b127", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "309d4667cd591db3eddc4d6df0457fbd068f885051ad9b0844e094d25c44b127", kill_on_drop: false }` [INFO] [stdout] 309d4667cd591db3eddc4d6df0457fbd068f885051ad9b0844e094d25c44b127