[INFO] cloning repository https://github.com/CNife/leetcode-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CNife/leetcode-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCNife%2Fleetcode-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCNife%2Fleetcode-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 265aa4a083d797c319c29df66779e406ce353841 [INFO] linting CNife/leetcode-rust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCNife%2Fleetcode-rust" "/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/CNife/leetcode-rust [INFO] finished tweaking git repo https://github.com/CNife/leetcode-rust [INFO] tweaked toml for git repo https://github.com/CNife/leetcode-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/CNife/leetcode-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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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-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] 4fb18477375a91c99816282c0145900d9582dcbceb0cf8d68f418f282a8e4993 [INFO] running `Command { std: "docker" "start" "-a" "4fb18477375a91c99816282c0145900d9582dcbceb0cf8d68f418f282a8e4993", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4fb18477375a91c99816282c0145900d9582dcbceb0cf8d68f418f282a8e4993", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fb18477375a91c99816282c0145900d9582dcbceb0cf8d68f418f282a8e4993", kill_on_drop: false }` [INFO] [stdout] 4fb18477375a91c99816282c0145900d9582dcbceb0cf8d68f418f282a8e4993 [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] 483438465f690b43cc9559965c0fe3fbdee5b8d276d7751fb774cf59bfcc5fef [INFO] running `Command { std: "docker" "start" "-a" "483438465f690b43cc9559965c0fe3fbdee5b8d276d7751fb774cf59bfcc5fef", kill_on_drop: false }` [INFO] [stderr] Checking utils v0.1.0 (/opt/rustwide/workdir/utils) [INFO] [stderr] Checking finished v0.1.0 (/opt/rustwide/workdir/finished) [INFO] [stderr] Checking leetcode v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lint `clippy::eval_order_dependence` has been renamed to `clippy::mixed_read_write_in_expression` [INFO] [stdout] --> finished/src/image_smoother.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | #[allow(clippy::eval_order_dependence)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::mixed_read_write_in_expression` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `clippy::eval_order_dependence` has been renamed to `clippy::mixed_read_write_in_expression` [INFO] [stdout] --> finished/src/image_smoother.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | #[allow(clippy::eval_order_dependence)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::mixed_read_write_in_expression` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` 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] --> finished/src/array_nesting.rs:24:50 [INFO] [stdout] | [INFO] [stdout] 24 | fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut Vec) -> i32 { [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] 24 - fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut Vec) -> i32 { [INFO] [stdout] 24 + fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut [bool]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> finished/src/basic_calculator.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if first.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `first.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> finished/src/basic_calculator.rs:60:38 [INFO] [stdout] | [INFO] [stdout] 60 | .find(|(_, ch)| !ch.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `ch.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/best_time_to_buy_and_sell_stock_with_cooldown.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | let mut hold = std::i32::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [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] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 16 - let mut hold = std::i32::MIN; [INFO] [stdout] 16 + let mut hold = i32::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> finished/src/binary_number_with_alternating_bits.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | let mut num = 0x55555555 as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0x55555555_i32` [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: the loop variable `hour_ones` is used to index `hour_map` [INFO] [stdout] --> finished/src/binary_watch.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | for hour_ones in 0..=min(3, num) { [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] 18 - for hour_ones in 0..=min(3, num) { [INFO] [stdout] 18 + for (hour_ones, ) in hour_map.iter().enumerate().take(min(3, num) + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: attempt to mutate range bound within loop [INFO] [stdout] --> finished/src/clumsy_factorial.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | n -= 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: the range of the loop is unchanged [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stdout] = note: `#[warn(clippy::mut_range_bound)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/coin_change.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | let mut min_change = std::i32::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 69 - let mut min_change = std::i32::MAX; [INFO] [stdout] 69 + let mut min_change = i32::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/coin_change.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | table[amount] = if min_change == std::i32::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 78 - table[amount] = if min_change == std::i32::MAX { [INFO] [stdout] 78 + table[amount] = if min_change == i32::MAX { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> finished/src/compare_version_numbers.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | / match self.cmp(other) { [INFO] [stdout] 53 | | Ordering::Equal => true, [INFO] [stdout] 54 | | _ => false, [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 52 - match self.cmp(other) { [INFO] [stdout] 53 - Ordering::Equal => true, [INFO] [stdout] 54 - _ => false, [INFO] [stdout] 55 - } [INFO] [stdout] 52 + matches!(self.cmp(other), Ordering::Equal) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/day_of_the_week.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | std::i32::MIN, // for padding [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 24 - std::i32::MIN, // for padding [INFO] [stdout] 24 + i32::MIN, // for padding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/day_of_the_week.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | std::i32::MIN, // for padding [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 40 - std::i32::MIN, // for padding [INFO] [stdout] 40 + i32::MIN, // for padding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/divide_two_integers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/evaluate_division.rs:9:51 [INFO] [stdout] | [INFO] [stdout] 9 | for (equation, value) in equations.iter().zip(values.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] 9 - for (equation, value) in equations.iter().zip(values.into_iter()) { [INFO] [stdout] 9 + for (equation, value) in equations.iter().zip(values) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> finished/src/evaluate_division.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/find_median_sorted_arrays.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/find_subsequences.rs:18:39 [INFO] [stdout] | [INFO] [stdout] 18 | if *seq.last().unwrap_or(&std::i32::MIN) <= nums[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 18 - if *seq.last().unwrap_or(&std::i32::MIN) <= nums[i] { [INFO] [stdout] 18 + if *seq.last().unwrap_or(&i32::MIN) <= nums[i] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> finished/src/find_the_duplicated_number.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let chunks = (width / 64) as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(width / 64)` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> finished/src/game_of_life.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | let count = Solution::count(&board, rows, columns, r, c); [INFO] [stdout] | ^^^^^^ help: change this to: `board` [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: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/game_of_life.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | const MARKED_ZERO: i32 = std::i32::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 52 - const MARKED_ZERO: i32 = std::i32::MIN; [INFO] [stdout] 52 + const MARKED_ZERO: i32 = i32::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/game_of_life.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | const MARKED_ONE: i32 = std::i32::MIN + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 54 - const MARKED_ONE: i32 = std::i32::MIN + 1; [INFO] [stdout] 54 + const MARKED_ONE: i32 = i32::MIN + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/gas_station.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | for (i, (g, c)) in gas.into_iter().zip(cost.into_iter()).enumerate() { [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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 6 - for (i, (g, c)) in gas.into_iter().zip(cost.into_iter()).enumerate() { [INFO] [stdout] 6 + for (i, (g, c)) in gas.into_iter().zip(cost).enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/generate_matrix.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | for c in i..j { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 17 - for c in i..j { [INFO] [stdout] 17 + for in matrix.iter_mut().take(j).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/generate_matrix.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | for r in i..j { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 20 - for r in i..j { [INFO] [stdout] 20 + for in matrix.iter_mut().take(j).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/heaters.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | heaters.push(std::i32::MAX); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 4 - heaters.push(std::i32::MAX); [INFO] [stdout] 4 + heaters.push(i32::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next` can be confused for the standard trait method `std::iter::Iterator::next` [INFO] [stdout] --> finished/src/iterator_for_combination.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / pub fn next(&mut self) -> String { [INFO] [stdout] 23 | | if self.has_next { [INFO] [stdout] 24 | | let result: Vec = self [INFO] [stdout] 25 | | .index_stack [INFO] [stdout] ... | [INFO] [stdout] 36 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::Iterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `digits.get(0)` [INFO] [stdout] --> finished/src/letter_combinations.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | match digits.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `digits.first()` [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] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> finished/src/lfu_cache.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | / impl PartialOrd for Node { [INFO] [stdout] 84 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 85 | | match self.frequency.partial_cmp(&other.frequency) { [INFO] [stdout] 86 | | Some(Ordering::Equal) => self.last_accessed.partial_cmp(&other.last_accessed), [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [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] 84 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 85 - match self.frequency.partial_cmp(&other.frequency) { [INFO] [stdout] 86 - Some(Ordering::Equal) => self.last_accessed.partial_cmp(&other.last_accessed), [INFO] [stdout] 87 - prev => prev, [INFO] [stdout] 88 - } [INFO] [stdout] 89 - } [INFO] [stdout] 84 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&num).is_none()` [INFO] [stdout] --> finished/src/longest_consecutive_sequence.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | if map.get(&num).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!map.contains_key(&num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/maximal_rectangle.rs:12:44 [INFO] [stdout] | [INFO] [stdout] 12 | for (dpn, ch) in dp.iter_mut().zip(row.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 12 - for (dpn, ch) in dp.iter_mut().zip(row.into_iter()) { [INFO] [stdout] 12 + for (dpn, ch) in dp.iter_mut().zip(row) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/maximum_product_subarray.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/merge_sorted_array.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [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] 1 - pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] 1 + pub fn merge(nums1: &mut [i32], m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/merge_sorted_array.rs:1:51 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [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] 1 - pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] 1 + pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut [i32], n: i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `MinStack` [INFO] [stdout] --> finished/src/min_stack.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> MinStack { [INFO] [stdout] 12 | | MinStack(Vec::new()) [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for MinStack { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/minimum_absolute_difference.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | let mut min_diff = std::i32::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 4 - let mut min_diff = std::i32::MAX; [INFO] [stdout] 4 + let mut min_diff = i32::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/next_permutation.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn next_permutation(nums: &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] help: change this to [INFO] [stdout] | [INFO] [stdout] 1 - pub fn next_permutation(nums: &mut Vec) { [INFO] [stdout] 1 + pub fn next_permutation(nums: &mut [i32]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/number_of_islands.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | fn bfs(grid: &mut Vec>, i: usize, j: 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] 23 - fn bfs(grid: &mut Vec>, i: usize, j: usize) { [INFO] [stdout] 23 + fn bfs(grid: &mut [Vec], i: usize, j: usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> finished/src/original_digits.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | let idx = *c as u8 - b'a'; [INFO] [stdout] | ^^^^^^^^ help: try: `*c` [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: the loop variable `i` is used to index `DIGITS_MAP` [INFO] [stdout] --> finished/src/original_digits.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | for i in 0usize..26 { [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] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 51 - for i in 0usize..26 { [INFO] [stdout] 51 + for (i, ) in DIGITS_MAP.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> finished/src/original_digits.rs:52:37 [INFO] [stdout] | [INFO] [stdout] 52 | self.0[i] -= DIGITS_MAP[digit as usize][i]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `digit` [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: the loop variable `i` is only used to index `nums` [INFO] [stdout] --> finished/src/product_of_array_except_self.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..n { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 5 - for i in 0..n { [INFO] [stdout] 5 + for in nums.iter().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/remove_duplicates_from_sorted_array_2.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn remove_duplicates(nums: &mut Vec) -> i32 { [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] 1 - pub fn remove_duplicates(nums: &mut Vec) -> i32 { [INFO] [stdout] 1 + pub fn remove_duplicates(nums: &mut [i32]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/set_zeroes.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn set_zeroes(matrix: &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] help: change this to [INFO] [stdout] | [INFO] [stdout] 4 - pub fn set_zeroes(matrix: &mut Vec>) { [INFO] [stdout] 4 + pub fn set_zeroes(matrix: &mut [Vec]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/set_zeroes.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | for r in 0..matrix.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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 24 - for r in 0..matrix.len() { [INFO] [stdout] 24 + for in &mut matrix { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/shortest_distance_to_a_character.rs:11:44 [INFO] [stdout] | [INFO] [stdout] 11 | for pair in l_dist_vec.into_iter().zip(r_dist_vec.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 11 - for pair in l_dist_vec.into_iter().zip(r_dist_vec.into_iter()) { [INFO] [stdout] 11 + for pair in l_dist_vec.into_iter().zip(r_dist_vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> finished/src/shortest_distance_to_a_character.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | } else if let Some(prev) = prev_idx { [INFO] [stdout] | ________________^ [INFO] [stdout] 35 | | Some((idx - prev) as i32) [INFO] [stdout] 36 | | } else { [INFO] [stdout] 37 | | None [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ help: try: `{ prev_idx.map(|prev| (idx - prev) as i32) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `right` [INFO] [stdout] --> finished/src/sliding_window_maximum.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | for i in 0..=n - k { [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] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 46 - for i in 0..=n - k { [INFO] [stdout] 46 + for (i, ) in right.iter().enumerate().take((n - k) + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | for c in column_start..column_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 15 - for c in column_start..column_end { [INFO] [stdout] 15 + for in matrix.iter().take(column_end).skip(column_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | for r in row_start + 1..row_end - 1 { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 18 - for r in row_start + 1..row_end - 1 { [INFO] [stdout] 18 + for in matrix.iter().take(row_end - 1).skip(row_start + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | for c in column_start..column_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 35 - for c in column_start..column_end { [INFO] [stdout] 35 + for in matrix.iter().take(column_end).skip(column_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | for r in row_start..row_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 39 - for r in row_start..row_end { [INFO] [stdout] 39 + for in matrix.iter().take(row_end).skip(row_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/string_compression.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn compress(chars: &mut Vec) -> i32 { [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] 1 - pub fn compress(chars: &mut Vec) -> i32 { [INFO] [stdout] 1 + pub fn compress(chars: &mut [char]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> finished/src/string_is_number.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / match status { [INFO] [stdout] 88 | | Integer | DotRead | Decimal | ExponentInteger | TrailingSpace => true, [INFO] [stdout] 89 | | _ => false, [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 87 - match status { [INFO] [stdout] 88 - Integer | DotRead | Decimal | ExponentInteger | TrailingSpace => true, [INFO] [stdout] 89 - _ => false, [INFO] [stdout] 90 - } [INFO] [stdout] 87 + matches!(status, Integer | DotRead | Decimal | ExponentInteger | TrailingSpace) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/string_to_integer_atoi.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> finished/src/string_to_integer_atoi.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | while let Some(ch) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for ch in iter.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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/trapping_rain_water.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | .zip(left_maxes.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 13 - .zip(left_maxes.into_iter()) [INFO] [stdout] 13 + .zip(left_maxes) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> finished/src/trie.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | self.get_node(&word).map_or(false, |w| w.is_word) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 27 - self.get_node(&word).map_or(false, |w| w.is_word) [INFO] [stdout] 27 + self.get_node(&word).is_some_and(|w| w.is_word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `obstacle_grid` [INFO] [stdout] --> finished/src/unique_paths_2.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | for i in 0..m { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 7 - for i in 0..m { [INFO] [stdout] 7 + for in obstacle_grid.iter().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> finished/src/utf_8_validation.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | if byte >= 0b1000_0000 && byte < 0b1100_0000 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0b1000_0000..0b1100_0000).contains(&byte)` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/word_break.rs:25:52 [INFO] [stdout] | [INFO] [stdout] 25 | let dict: HashSet = HashSet::from_iter(dict.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/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 25 - let dict: HashSet = HashSet::from_iter(dict.into_iter()); [INFO] [stdout] 25 + let dict: HashSet = HashSet::from_iter(dict); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/binary_watch.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | let hour_map = vec![vec![0], vec![1, 2, 4, 8], vec![3, 5, 6, 9, 10], vec![7, 11]]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[vec![0], vec![1, 2, 4, 8], vec![3, 5, 6, 9, 10], vec![7, 11]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/binary_watch.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | let minute_map = vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 6 | | vec![0], [INFO] [stdout] 7 | | vec![1, 2, 4, 8, 16, 32], [INFO] [stdout] 8 | | vec![3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 33, 34, 36, 40, 48], [INFO] [stdout] ... | [INFO] [stdout] 13 | | vec![31, 47, 55, 59], [INFO] [stdout] 14 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 5 ~ let minute_map = [vec![0], [INFO] [stdout] 6 + vec![1, 2, 4, 8, 16, 32], [INFO] [stdout] 7 + vec![3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 33, 34, 36, 40, 48], [INFO] [stdout] 8 + vec![ [INFO] [stdout] 9 + 7, 11, 13, 14, 19, 21, 22, 25, 26, 28, 35, 37, 38, 41, 42, 44, 49, 50, 52, 56, [INFO] [stdout] 10 + ], [INFO] [stdout] 11 + vec![15, 23, 27, 29, 30, 39, 43, 45, 46, 51, 53, 54, 57, 58], [INFO] [stdout] 12 ~ vec![31, 47, 55, 59]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/divide_two_integers.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | debug_assert!(!vec![0, 1, -1, i32::MIN].contains(&divisor)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, -1, i32::MIN]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/array_nesting.rs:24:50 [INFO] [stdout] | [INFO] [stdout] 24 | fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut Vec) -> i32 { [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] 24 - fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut Vec) -> i32 { [INFO] [stdout] 24 + fn dfs_iter(nums: &[i32], mut i: usize, visited: &mut [bool]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> finished/src/basic_calculator.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if first.is_digit(10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `first.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] = note: `#[warn(clippy::is_digit_ascii_radix)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `char::is_digit` with literal radix of 10 [INFO] [stdout] --> finished/src/basic_calculator.rs:60:38 [INFO] [stdout] | [INFO] [stdout] 60 | .find(|(_, ch)| !ch.is_digit(10)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `ch.is_ascii_digit()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#is_digit_ascii_radix [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/best_time_to_buy_and_sell_stock_with_cooldown.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | let mut hold = std::i32::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [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] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 16 - let mut hold = std::i32::MIN; [INFO] [stdout] 16 + let mut hold = i32::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> finished/src/binary_number_with_alternating_bits.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | let mut num = 0x55555555 as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `0x55555555_i32` [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: the loop variable `hour_ones` is used to index `hour_map` [INFO] [stdout] --> finished/src/binary_watch.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | for hour_ones in 0..=min(3, num) { [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] 18 - for hour_ones in 0..=min(3, num) { [INFO] [stdout] 18 + for (hour_ones, ) in hour_map.iter().enumerate().take(min(3, num) + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: attempt to mutate range bound within loop [INFO] [stdout] --> finished/src/clumsy_factorial.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | n -= 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: the range of the loop is unchanged [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stdout] = note: `#[warn(clippy::mut_range_bound)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/coin_change.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | let mut min_change = std::i32::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 69 - let mut min_change = std::i32::MAX; [INFO] [stdout] 69 + let mut min_change = i32::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/coin_change.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | table[amount] = if min_change == std::i32::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 78 - table[amount] = if min_change == std::i32::MAX { [INFO] [stdout] 78 + table[amount] = if min_change == i32::MAX { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> finished/src/compare_version_numbers.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | / match self.cmp(other) { [INFO] [stdout] 53 | | Ordering::Equal => true, [INFO] [stdout] 54 | | _ => false, [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 52 - match self.cmp(other) { [INFO] [stdout] 53 - Ordering::Equal => true, [INFO] [stdout] 54 - _ => false, [INFO] [stdout] 55 - } [INFO] [stdout] 52 + matches!(self.cmp(other), Ordering::Equal) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/day_of_the_week.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | std::i32::MIN, // for padding [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 24 - std::i32::MIN, // for padding [INFO] [stdout] 24 + i32::MIN, // for padding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/day_of_the_week.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | std::i32::MIN, // for padding [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 40 - std::i32::MIN, // for padding [INFO] [stdout] 40 + i32::MIN, // for padding [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/divide_two_integers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/evaluate_division.rs:9:51 [INFO] [stdout] | [INFO] [stdout] 9 | for (equation, value) in equations.iter().zip(values.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] 9 - for (equation, value) in equations.iter().zip(values.into_iter()) { [INFO] [stdout] 9 + for (equation, value) in equations.iter().zip(values) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> finished/src/evaluate_division.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | .or_insert_with(Vec::new) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/find_median_sorted_arrays.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/find_subsequences.rs:18:39 [INFO] [stdout] | [INFO] [stdout] 18 | if *seq.last().unwrap_or(&std::i32::MIN) <= nums[i] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 18 - if *seq.last().unwrap_or(&std::i32::MIN) <= nums[i] { [INFO] [stdout] 18 + if *seq.last().unwrap_or(&i32::MIN) <= nums[i] { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> finished/src/find_the_duplicated_number.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | let chunks = (width / 64) as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(width / 64)` [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: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/fraction_to_recurring_decimal.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | (std::i32::MIN, -1, "2147483648"), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 55 - (std::i32::MIN, -1, "2147483648"), [INFO] [stdout] 55 + (i32::MIN, -1, "2147483648"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> finished/src/game_of_life.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | let count = Solution::count(&board, rows, columns, r, c); [INFO] [stdout] | ^^^^^^ help: change this to: `board` [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: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/game_of_life.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | const MARKED_ZERO: i32 = std::i32::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 52 - const MARKED_ZERO: i32 = std::i32::MIN; [INFO] [stdout] 52 + const MARKED_ZERO: i32 = i32::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/game_of_life.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | const MARKED_ONE: i32 = std::i32::MIN + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 54 - const MARKED_ONE: i32 = std::i32::MIN + 1; [INFO] [stdout] 54 + const MARKED_ONE: i32 = i32::MIN + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/gas_station.rs:6:44 [INFO] [stdout] | [INFO] [stdout] 6 | for (i, (g, c)) in gas.into_iter().zip(cost.into_iter()).enumerate() { [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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 6 - for (i, (g, c)) in gas.into_iter().zip(cost.into_iter()).enumerate() { [INFO] [stdout] 6 + for (i, (g, c)) in gas.into_iter().zip(cost).enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/generate_matrix.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | for c in i..j { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 17 - for c in i..j { [INFO] [stdout] 17 + for in matrix.iter_mut().take(j).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/generate_matrix.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | for r in i..j { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 20 - for r in i..j { [INFO] [stdout] 20 + for in matrix.iter_mut().take(j).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/heaters.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | heaters.push(std::i32::MAX); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 4 - heaters.push(std::i32::MAX); [INFO] [stdout] 4 + heaters.push(i32::MAX); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next` can be confused for the standard trait method `std::iter::Iterator::next` [INFO] [stdout] --> finished/src/iterator_for_combination.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / pub fn next(&mut self) -> String { [INFO] [stdout] 23 | | if self.has_next { [INFO] [stdout] 24 | | let result: Vec = self [INFO] [stdout] 25 | | .index_stack [INFO] [stdout] ... | [INFO] [stdout] 36 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::iter::Iterator` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> finished/src/iterator_for_combination.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if !next_indexes(&mut stack, m - 1).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `next_indexes(&mut stack, m - 1).is_none()` [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: accessing first element with `digits.get(0)` [INFO] [stdout] --> finished/src/letter_combinations.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | match digits.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `digits.first()` [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] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> finished/src/lfu_cache.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | / impl PartialOrd for Node { [INFO] [stdout] 84 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 85 | | match self.frequency.partial_cmp(&other.frequency) { [INFO] [stdout] 86 | | Some(Ordering::Equal) => self.last_accessed.partial_cmp(&other.last_accessed), [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [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] 84 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 85 - match self.frequency.partial_cmp(&other.frequency) { [INFO] [stdout] 86 - Some(Ordering::Equal) => self.last_accessed.partial_cmp(&other.last_accessed), [INFO] [stdout] 87 - prev => prev, [INFO] [stdout] 88 - } [INFO] [stdout] 89 - } [INFO] [stdout] 84 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(&num).is_none()` [INFO] [stdout] --> finished/src/longest_consecutive_sequence.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | if map.get(&num).is_none() { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!map.contains_key(&num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/maximal_rectangle.rs:12:44 [INFO] [stdout] | [INFO] [stdout] 12 | for (dpn, ch) in dp.iter_mut().zip(row.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 12 - for (dpn, ch) in dp.iter_mut().zip(row.into_iter()) { [INFO] [stdout] 12 + for (dpn, ch) in dp.iter_mut().zip(row) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/maximum_nesting_depth_of_two_valid_parentheses_strings.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | for item in s.bytes().zip(split.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 17 - for item in s.bytes().zip(split.into_iter()) { [INFO] [stdout] 17 + for item in s.bytes().zip(split) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/maximum_product_subarray.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/merge_sorted_array.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [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] 1 - pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] 1 + pub fn merge(nums1: &mut [i32], m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/merge_sorted_array.rs:1:51 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [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] 1 - pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut Vec, n: i32) { [INFO] [stdout] 1 + pub fn merge(nums1: &mut Vec, m: i32, nums2: &mut [i32], n: i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `MinStack` [INFO] [stdout] --> finished/src/min_stack.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn new() -> MinStack { [INFO] [stdout] 12 | | MinStack(Vec::new()) [INFO] [stdout] 13 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for MinStack { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> finished/src/minimum_absolute_difference.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | let mut min_diff = std::i32::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 4 - let mut min_diff = std::i32::MAX; [INFO] [stdout] 4 + let mut min_diff = i32::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/next_permutation.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn next_permutation(nums: &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] help: change this to [INFO] [stdout] | [INFO] [stdout] 1 - pub fn next_permutation(nums: &mut Vec) { [INFO] [stdout] 1 + pub fn next_permutation(nums: &mut [i32]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/number_of_islands.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | fn bfs(grid: &mut Vec>, i: usize, j: 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] 23 - fn bfs(grid: &mut Vec>, i: usize, j: usize) { [INFO] [stdout] 23 + fn bfs(grid: &mut [Vec], i: usize, j: usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> finished/src/original_digits.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | let idx = *c as u8 - b'a'; [INFO] [stdout] | ^^^^^^^^ help: try: `*c` [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: the loop variable `i` is used to index `DIGITS_MAP` [INFO] [stdout] --> finished/src/original_digits.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | for i in 0usize..26 { [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] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 51 - for i in 0usize..26 { [INFO] [stdout] 51 + for (i, ) in DIGITS_MAP.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> finished/src/original_digits.rs:52:37 [INFO] [stdout] | [INFO] [stdout] 52 | self.0[i] -= DIGITS_MAP[digit as usize][i]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `digit` [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: the loop variable `i` is only used to index `nums` [INFO] [stdout] --> finished/src/product_of_array_except_self.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | for i in 0..n { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 5 - for i in 0..n { [INFO] [stdout] 5 + for in nums.iter().take(n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/remove_duplicates_from_sorted_array_2.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn remove_duplicates(nums: &mut Vec) -> i32 { [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] 1 - pub fn remove_duplicates(nums: &mut Vec) -> i32 { [INFO] [stdout] 1 + pub fn remove_duplicates(nums: &mut [i32]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/set_zeroes.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn set_zeroes(matrix: &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] help: change this to [INFO] [stdout] | [INFO] [stdout] 4 - pub fn set_zeroes(matrix: &mut Vec>) { [INFO] [stdout] 4 + pub fn set_zeroes(matrix: &mut [Vec]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/set_zeroes.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | for r in 0..matrix.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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 24 - for r in 0..matrix.len() { [INFO] [stdout] 24 + for in &mut matrix { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/shortest_distance_to_a_character.rs:11:44 [INFO] [stdout] | [INFO] [stdout] 11 | for pair in l_dist_vec.into_iter().zip(r_dist_vec.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 11 - for pair in l_dist_vec.into_iter().zip(r_dist_vec.into_iter()) { [INFO] [stdout] 11 + for pair in l_dist_vec.into_iter().zip(r_dist_vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> finished/src/shortest_distance_to_a_character.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | } else if let Some(prev) = prev_idx { [INFO] [stdout] | ________________^ [INFO] [stdout] 35 | | Some((idx - prev) as i32) [INFO] [stdout] 36 | | } else { [INFO] [stdout] 37 | | None [INFO] [stdout] 38 | | }; [INFO] [stdout] | |_________^ help: try: `{ prev_idx.map(|prev| (idx - prev) as i32) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `right` [INFO] [stdout] --> finished/src/sliding_window_maximum.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 46 | for i in 0..=n - k { [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] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 46 - for i in 0..=n - k { [INFO] [stdout] 46 + for (i, ) in right.iter().enumerate().take((n - k) + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | for c in column_start..column_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 15 - for c in column_start..column_end { [INFO] [stdout] 15 + for in matrix.iter().take(column_end).skip(column_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | for r in row_start + 1..row_end - 1 { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 18 - for r in row_start + 1..row_end - 1 { [INFO] [stdout] 18 + for in matrix.iter().take(row_end - 1).skip(row_start + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `c` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | for c in column_start..column_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 35 - for c in column_start..column_end { [INFO] [stdout] 35 + for in matrix.iter().take(column_end).skip(column_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `r` is only used to index `matrix` [INFO] [stdout] --> finished/src/spiral_order.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | for r in row_start..row_end { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 39 - for r in row_start..row_end { [INFO] [stdout] 39 + for in matrix.iter().take(row_end).skip(row_start) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> finished/src/string_compression.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn compress(chars: &mut Vec) -> i32 { [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] 1 - pub fn compress(chars: &mut Vec) -> i32 { [INFO] [stdout] 1 + pub fn compress(chars: &mut [char]) -> i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> finished/src/string_is_number.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / match status { [INFO] [stdout] 88 | | Integer | DotRead | Decimal | ExponentInteger | TrailingSpace => true, [INFO] [stdout] 89 | | _ => false, [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 87 - match status { [INFO] [stdout] 88 - Integer | DotRead | Decimal | ExponentInteger | TrailingSpace => true, [INFO] [stdout] 89 - _ => false, [INFO] [stdout] 90 - } [INFO] [stdout] 87 + matches!(status, Integer | DotRead | Decimal | ExponentInteger | TrailingSpace) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> finished/src/string_to_integer_atoi.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `i32::` 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] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> finished/src/string_to_integer_atoi.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | while let Some(ch) = iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for ch in iter.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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/subdomain_visit_count.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | HashSet::from_iter(strings.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/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 59 - HashSet::from_iter(strings.into_iter()) [INFO] [stdout] 59 + HashSet::from_iter(strings) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/trapping_rain_water.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | .zip(left_maxes.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] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 13 - .zip(left_maxes.into_iter()) [INFO] [stdout] 13 + .zip(left_maxes) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> finished/src/trie.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | self.get_node(&word).map_or(false, |w| w.is_word) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 27 - self.get_node(&word).map_or(false, |w| w.is_word) [INFO] [stdout] 27 + self.get_node(&word).is_some_and(|w| w.is_word) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/trie.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | assert_eq!(t.search("apple".to_string()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 50 - assert_eq!(t.search("apple".to_string()), true); [INFO] [stdout] 50 + assert!(t.search("apple".to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/trie.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | assert_eq!(t.search("app".to_string()), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 51 - assert_eq!(t.search("app".to_string()), false); [INFO] [stdout] 51 + assert!(!t.search("app".to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/trie.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | assert_eq!(t.starts_with("app".to_string()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 52 - assert_eq!(t.starts_with("app".to_string()), true); [INFO] [stdout] 52 + assert!(t.starts_with("app".to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/trie.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | assert_eq!(t.search("app".to_string()), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 54 - assert_eq!(t.search("app".to_string()), true); [INFO] [stdout] 54 + assert!(t.search("app".to_string())); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/ugly_number.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | assert_eq!(is_ugly(6), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 36 - assert_eq!(is_ugly(6), true); [INFO] [stdout] 36 + assert!(is_ugly(6)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/ugly_number.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | assert_eq!(is_ugly(8), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 37 - assert_eq!(is_ugly(8), true); [INFO] [stdout] 37 + assert!(is_ugly(8)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/ugly_number.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | assert_eq!(is_ugly(14), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 38 - assert_eq!(is_ugly(14), false); [INFO] [stdout] 38 + assert!(!is_ugly(14)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> finished/src/ugly_number.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | assert_eq!(is_ugly(1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 39 - assert_eq!(is_ugly(1), true); [INFO] [stdout] 39 + assert!(is_ugly(1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `obstacle_grid` [INFO] [stdout] --> finished/src/unique_paths_2.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | for i in 0..m { [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] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 7 - for i in 0..m { [INFO] [stdout] 7 + for in obstacle_grid.iter().take(m) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> finished/src/utf_8_validation.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | if byte >= 0b1000_0000 && byte < 0b1100_0000 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0b1000_0000..0b1100_0000).contains(&byte)` [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: explicit call to `.into_iter()` in function argument accepting `IntoIterator` [INFO] [stdout] --> finished/src/word_break.rs:25:52 [INFO] [stdout] | [INFO] [stdout] 25 | let dict: HashSet = HashSet::from_iter(dict.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/collect.rs:152:20 [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing the `.into_iter()` [INFO] [stdout] | [INFO] [stdout] 25 - let dict: HashSet = HashSet::from_iter(dict.into_iter()); [INFO] [stdout] 25 + let dict: HashSet = HashSet::from_iter(dict); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/binary_watch.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | let hour_map = vec![vec![0], vec![1, 2, 4, 8], vec![3, 5, 6, 9, 10], vec![7, 11]]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[vec![0], vec![1, 2, 4, 8], vec![3, 5, 6, 9, 10], vec![7, 11]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/binary_watch.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | let minute_map = vec![ [INFO] [stdout] | ______________________^ [INFO] [stdout] 6 | | vec![0], [INFO] [stdout] 7 | | vec![1, 2, 4, 8, 16, 32], [INFO] [stdout] 8 | | vec![3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 33, 34, 36, 40, 48], [INFO] [stdout] ... | [INFO] [stdout] 13 | | vec![31, 47, 55, 59], [INFO] [stdout] 14 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 5 ~ let minute_map = [vec![0], [INFO] [stdout] 6 + vec![1, 2, 4, 8, 16, 32], [INFO] [stdout] 7 + vec![3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 33, 34, 36, 40, 48], [INFO] [stdout] 8 + vec![ [INFO] [stdout] 9 + 7, 11, 13, 14, 19, 21, 22, 25, 26, 28, 35, 37, 38, 41, 42, 44, 49, 50, 52, 56, [INFO] [stdout] 10 + ], [INFO] [stdout] 11 + vec![15, 23, 27, 29, 30, 39, 43, 45, 46, 51, 53, 54, 57, 58], [INFO] [stdout] 12 ~ vec![31, 47, 55, 59]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> finished/src/divide_two_integers.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | debug_assert!(!vec![0, 1, -1, i32::MIN].contains(&divisor)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[0, 1, -1, i32::MIN]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.80s [INFO] running `Command { std: "docker" "inspect" "483438465f690b43cc9559965c0fe3fbdee5b8d276d7751fb774cf59bfcc5fef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "483438465f690b43cc9559965c0fe3fbdee5b8d276d7751fb774cf59bfcc5fef", kill_on_drop: false }` [INFO] [stdout] 483438465f690b43cc9559965c0fe3fbdee5b8d276d7751fb774cf59bfcc5fef