[INFO] cloning repository https://github.com/khooj/aoc2023 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khooj/aoc2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhooj%2Faoc2023", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhooj%2Faoc2023'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dd30893244a91d43782fc128e09e6f48f1017e98 [INFO] linting khooj/aoc2023 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhooj%2Faoc2023" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/khooj/aoc2023 [INFO] finished tweaking git repo https://github.com/khooj/aoc2023 [INFO] tweaked toml for git repo https://github.com/khooj/aoc2023 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/khooj/aoc2023 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/khooj/aoc2023 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] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded log v0.4.20 [INFO] [stderr] Downloaded env_logger v0.10.1 [INFO] [stderr] Downloaded hermit-abi v0.3.3 [INFO] [stderr] Downloaded errno v0.3.8 [INFO] [stderr] Downloaded is-terminal v0.4.9 [INFO] [stderr] Downloaded termcolor v1.4.0 [INFO] [stderr] Downloaded humantime v2.1.0 [INFO] [stderr] Downloaded bitflags v2.4.1 [INFO] [stderr] Downloaded either v1.9.0 [INFO] [stderr] Downloaded winapi-util v0.1.6 [INFO] [stderr] Downloaded memchr v2.6.4 [INFO] [stderr] Downloaded itertools v0.12.0 [INFO] [stderr] Downloaded windows-targets v0.52.0 [INFO] [stderr] Downloaded aho-corasick v1.1.2 [INFO] [stderr] Downloaded regex v1.10.2 [INFO] [stderr] Downloaded regex-syntax v0.8.2 [INFO] [stderr] Downloaded rustix v0.38.26 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.52.0 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.52.0 [INFO] [stderr] Downloaded regex-automata v0.4.3 [INFO] [stderr] Downloaded libc v0.2.150 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.52.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.52.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.52.0 [INFO] [stderr] Downloaded windows_i686_gnu v0.52.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.52.0 [INFO] [stderr] Downloaded linux-raw-sys v0.4.12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 6430fef4a960a8bf72b4f535d66950d32a4c11a7400f4be95bc5e871d75951cf [INFO] running `Command { std: "docker" "start" "-a" "6430fef4a960a8bf72b4f535d66950d32a4c11a7400f4be95bc5e871d75951cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6430fef4a960a8bf72b4f535d66950d32a4c11a7400f4be95bc5e871d75951cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6430fef4a960a8bf72b4f535d66950d32a4c11a7400f4be95bc5e871d75951cf", kill_on_drop: false }` [INFO] [stdout] 6430fef4a960a8bf72b4f535d66950d32a4c11a7400f4be95bc5e871d75951cf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 2586c932357b425b69e4642bad1bb0c3c23b3098c50c4a68ff256caf412c7ca1 [INFO] running `Command { std: "docker" "start" "-a" "2586c932357b425b69e4642bad1bb0c3c23b3098c50c4a68ff256caf412c7ca1", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking utils v0.1.0 (/opt/rustwide/workdir/utils) [INFO] [stderr] Compiling rustix v0.38.26 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking linux-raw-sys v0.4.12 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking termcolor v1.4.0 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking _2_cube_conundrum v0.1.0 (/opt/rustwide/workdir/_2_cube_conundrum) [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | let count: u64 = p.nth(0).unwrap().parse().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `p.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | let color = p.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `p.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return true; [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] 39 - return true; [INFO] [stdout] 39 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | let count: u64 = p.nth(0).unwrap().parse().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `p.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | let color = p.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `p.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> _2_cube_conundrum/src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return true; [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] 39 - return true; [INFO] [stdout] 39 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking itertools v0.12.0 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking _1_trebuchet v0.1.0 (/opt/rustwide/workdir/_1_trebuchet) [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Checking env_logger v0.10.1 [INFO] [stderr] Checking _3_gear_ratios v0.1.0 (/opt/rustwide/workdir/_3_gear_ratios) [INFO] [stderr] Checking _6_wait_for_it v0.1.0 (/opt/rustwide/workdir/_6_wait_for_it) [INFO] [stderr] Checking _4_scratchcards v0.1.0 (/opt/rustwide/workdir/_4_scratchcards) [INFO] [stderr] Checking _7_camel_cards v0.1.0 (/opt/rustwide/workdir/_7_camel_cards) [INFO] [stderr] Checking _5_fertilizer v0.1.0 (/opt/rustwide/workdir/_5_fertilizer) [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `char`, `pair`, `preceded`, `terminated`, and `u32` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | character::complete::{char, multispace0, newline, u32, u64}, [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | sequence::{delimited, pair, preceded, terminated}, [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> _3_gear_ratios/src/main.rs:140:1 [INFO] [stdout] | [INFO] [stdout] 140 | mod tests { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn main() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mat` [INFO] [stdout] --> _3_gear_ratios/src/main.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | for i in col..mat[row].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] 29 - for i in col..mat[row].len() { [INFO] [stdout] 29 + for (i, ) in mat.iter().enumerate().take(mat[row].len()).skip(col) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `char`, `pair`, `preceded`, `terminated`, and `u32` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:4:27 [INFO] [stdout] | [INFO] [stdout] 4 | character::complete::{char, multispace0, newline, u32, u64}, [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | sequence::{delimited, pair, preceded, terminated}, [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `branch::alt` [INFO] [stdout] --> _5_fertilizer/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `branch::alt` [INFO] [stdout] --> _5_fertilizer/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> _5_fertilizer/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | / if s.is_none() { [INFO] [stdout] 23 | | return None; [INFO] [stdout] 24 | | } [INFO] [stdout] | |_________^ help: replace it with: `s?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> _3_gear_ratios/src/main.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 131 | res += ints.iter().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] --> _5_fertilizer/src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return src; [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 src; [INFO] [stdout] 42 + src [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> _4_scratchcards/src/main.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if have_winning_numbers.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `have_winning_numbers.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | .zip(dists.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 30 - .zip(dists.into_iter()) [INFO] [stdout] 30 + .zip(dists) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mat` [INFO] [stdout] --> _3_gear_ratios/src/main.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | for i in col..mat[row].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] 29 - for i in col..mat[row].len() { [INFO] [stdout] 29 + for (i, ) in mat.iter().enumerate().take(mat[row].len()).skip(col) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.fold` can be written more succinctly using another method [INFO] [stdout] --> _3_gear_ratios/src/main.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 131 | res += ints.iter().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: value assigned to `replace_with` is never read [INFO] [stdout] --> _7_camel_cards/src/priority_queue.rs:150:36 [INFO] [stdout] | [INFO] [stdout] 150 | let mut replace_with = idx; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `old_hand` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl Hand { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 27 | fn old_hand(s: &str) -> Hand { [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 `total_winnings` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn total_winnings(s: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_elems` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn unique_elems(s: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pq` is never constructed [INFO] [stdout] --> _7_camel_cards/src/priority_queue.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Pq { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> _7_camel_cards/src/priority_queue.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Pq { [INFO] [stdout] | ----------------------------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn left_idx(idx: usize) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn right_idx(idx: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn sign_parent_idx(idx: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn parent_idx(idx: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn left(&self, idx: usize) -> Option<&LinkedList> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn left_mut(&mut self, idx: usize) -> &mut LinkedList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn right(&self, idx: usize) -> Option<&LinkedList> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn right_mut(&mut self, idx: usize) -> &mut LinkedList { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn insert(&mut self, item: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn shift_up(&mut self, mut idx: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get(&mut self) -> Option> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn shift_down(&mut self, mut idx: 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] --> _7_camel_cards/src/main.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | fn joker_strength(symb: &Vec<&usize>, jokers: usize) -> Option { [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] 44 - fn joker_strength(symb: &Vec<&usize>, jokers: usize) -> Option { [INFO] [stdout] 44 + fn joker_strength(symb: &[&usize], jokers: usize) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> _7_camel_cards/src/main.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [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] 74 - if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] 74 + if !(*v[1] != 2 || *v[0] != 2 && *v[2] != 2) || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] | [INFO] [stdout] 74 - if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] 74 + if (*v[2] == 2 || *v[0] == 2) && *v[1] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> _7_camel_cards/src/main.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | / impl PartialOrd for HandBid { [INFO] [stdout] 155 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 156 | | self.hand.partial_cmp(&other.hand) [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 155 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 156 - self.hand.partial_cmp(&other.hand) [INFO] [stdout] 157 - } [INFO] [stdout] 155 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> _7_camel_cards/src/main.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | return h.len() == l; [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] 209 - return h.len() == l; [INFO] [stdout] 209 + h.len() == l [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> _5_fertilizer/src/main.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | / if s.is_none() { [INFO] [stdout] 23 | | return None; [INFO] [stdout] 24 | | } [INFO] [stdout] | |_________^ help: replace it with: `s?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> _5_fertilizer/src/main.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | return src; [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 src; [INFO] [stdout] 42 + src [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> _6_wait_for_it/src/main.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | .zip(dists.into_iter()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: this parameter accepts any `IntoIterator`, so you don't need to call `.into_iter()` [INFO] [stdout] --> /rustc/3645249d79dfb136b5d8de3ce153d19d6698d92d/library/core/src/iter/traits/iterator.rs:629:11 [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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 30 - .zip(dists.into_iter()) [INFO] [stdout] 30 + .zip(dists) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> _4_scratchcards/src/main.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if have_winning_numbers.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `have_winning_numbers.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `replace_with` is never read [INFO] [stdout] --> _7_camel_cards/src/priority_queue.rs:150:36 [INFO] [stdout] | [INFO] [stdout] 150 | let mut replace_with = idx; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `old_hand` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl Hand { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 27 | fn old_hand(s: &str) -> Hand { [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 `total_winnings` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn total_winnings(s: &str) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unique_elems` is never used [INFO] [stdout] --> _7_camel_cards/src/main.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn unique_elems(s: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `sign_parent_idx`, `left_mut`, and `right_mut` are never used [INFO] [stdout] --> _7_camel_cards/src/priority_queue.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Pq { [INFO] [stdout] | ----------------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | fn sign_parent_idx(idx: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn left_mut(&mut self, idx: usize) -> &mut LinkedList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn right_mut(&mut self, idx: usize) -> &mut LinkedList { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> _7_camel_cards/src/main.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | fn joker_strength(symb: &Vec<&usize>, jokers: usize) -> Option { [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] 44 - fn joker_strength(symb: &Vec<&usize>, jokers: usize) -> Option { [INFO] [stdout] 44 + fn joker_strength(symb: &[&usize], jokers: usize) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> _7_camel_cards/src/main.rs:74:16 [INFO] [stdout] | [INFO] [stdout] 74 | if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [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] 74 - if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] 74 + if !(*v[1] != 2 || *v[0] != 2 && *v[2] != 2) || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] | [INFO] [stdout] 74 - if *v[0] == 2 && *v[1] == 2 || *v[1] == 2 && *v[2] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] 74 + if (*v[2] == 2 || *v[0] == 2) && *v[1] == 2 || *v[0] == 2 && *v[2] == 2 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> _7_camel_cards/src/main.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 154 | / impl PartialOrd for HandBid { [INFO] [stdout] 155 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 156 | | self.hand.partial_cmp(&other.hand) [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 155 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 156 - self.hand.partial_cmp(&other.hand) [INFO] [stdout] 157 - } [INFO] [stdout] 155 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> _7_camel_cards/src/main.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | return h.len() == l; [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] 209 - return h.len() == l; [INFO] [stdout] 209 + h.len() == l [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.55s [INFO] running `Command { std: "docker" "inspect" "2586c932357b425b69e4642bad1bb0c3c23b3098c50c4a68ff256caf412c7ca1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2586c932357b425b69e4642bad1bb0c3c23b3098c50c4a68ff256caf412c7ca1", kill_on_drop: false }` [INFO] [stdout] 2586c932357b425b69e4642bad1bb0c3c23b3098c50c4a68ff256caf412c7ca1