[INFO] updating cached repository squidarth/optimal-line-length [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/squidarth/optimal-line-length [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/squidarth/optimal-line-length" "work/ex/clippy-test-run/sources/stable/gh/squidarth/optimal-line-length"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/squidarth/optimal-line-length'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/squidarth/optimal-line-length" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/squidarth/optimal-line-length"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/squidarth/optimal-line-length'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8daab2974035469ebe2c850347dcff48bb49dd3a [INFO] sha for GitHub repo squidarth/optimal-line-length: 8daab2974035469ebe2c850347dcff48bb49dd3a [INFO] validating manifest of squidarth/optimal-line-length on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of squidarth/optimal-line-length on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing squidarth/optimal-line-length [INFO] finished frobbing squidarth/optimal-line-length [INFO] frobbed toml for squidarth/optimal-line-length written to work/ex/clippy-test-run/sources/stable/gh/squidarth/optimal-line-length/Cargo.toml [INFO] started frobbing squidarth/optimal-line-length [INFO] finished frobbing squidarth/optimal-line-length [INFO] frobbed toml for squidarth/optimal-line-length written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/squidarth/optimal-line-length/Cargo.toml [INFO] crate squidarth/optimal-line-length has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting squidarth/optimal-line-length against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/squidarth/optimal-line-length:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] c1aa4b26ebb5899077d477358db102fd9f87751126c3280cf6c58af88d1b23e2 [INFO] running `"docker" "start" "-a" "c1aa4b26ebb5899077d477358db102fd9f87751126c3280cf6c58af88d1b23e2"` [INFO] [stderr] Checking line_breaks v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return final_string [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_string` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | return final_break_indexes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_break_indexes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:31:7 [INFO] [stderr] | [INFO] [stderr] 31 | return get_break_indexes(previous_break_indexes[0..(last_break_index as usize)].to_vec(), final_break_indexes) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `get_break_indexes(previous_break_indexes[0..(last_break_index as usize)].to_vec(), final_break_indexes)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | let mut minimum_cost = 1000000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return final_string [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_string` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | return final_break_indexes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_break_indexes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:31:7 [INFO] [stderr] | [INFO] [stderr] 31 | return get_break_indexes(previous_break_indexes[0..(last_break_index as usize)].to_vec(), final_break_indexes) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `get_break_indexes(previous_break_indexes[0..(last_break_index as usize)].to_vec(), final_break_indexes)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | let mut minimum_cost = 1000000000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_000_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `words` [INFO] [stderr] --> src/main.rs:10:14 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 0..words.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 10 | for (i, ) in words.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/main.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | if !(line_length > max_line_length) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `line_length <= max_line_length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:38:50 [INFO] [stderr] | [INFO] [stderr] 38 | let words: Vec<&str> = stripped_string.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | for j in 0..i+1 { [INFO] [stderr] | ^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | let line_length = words[j..i+1].join(" ").len() as i32; [INFO] [stderr] | ^^^^^^ help: use: `j..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | / let mut previous_cost: i32; [INFO] [stderr] 51 | | if j == 0 { [INFO] [stderr] 52 | | previous_cost = 0; [INFO] [stderr] 53 | | } else { [INFO] [stderr] 54 | | previous_cost = cost_array[j - 1]; [INFO] [stderr] 55 | | } [INFO] [stderr] | |_______________^ help: it is more idiomatic to write: `let previous_cost = if j == 0 { 0 } else { cost_array[j - 1] };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `words` [INFO] [stderr] --> src/main.rs:10:14 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 0..words.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 10 | for (i, ) in words.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/main.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | if !(line_length > max_line_length) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `line_length <= max_line_length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:38:50 [INFO] [stderr] | [INFO] [stderr] 38 | let words: Vec<&str> = stripped_string.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | for j in 0..i+1 { [INFO] [stderr] | ^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | let line_length = words[j..i+1].join(" ").len() as i32; [INFO] [stderr] | ^^^^^^ help: use: `j..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | / let mut previous_cost: i32; [INFO] [stderr] 51 | | if j == 0 { [INFO] [stderr] 52 | | previous_cost = 0; [INFO] [stderr] 53 | | } else { [INFO] [stderr] 54 | | previous_cost = cost_array[j - 1]; [INFO] [stderr] 55 | | } [INFO] [stderr] | |_______________^ help: it is more idiomatic to write: `let previous_cost = if j == 0 { 0 } else { cost_array[j - 1] };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.56s [INFO] running `"docker" "inspect" "c1aa4b26ebb5899077d477358db102fd9f87751126c3280cf6c58af88d1b23e2"` [INFO] running `"docker" "rm" "-f" "c1aa4b26ebb5899077d477358db102fd9f87751126c3280cf6c58af88d1b23e2"` [INFO] [stdout] c1aa4b26ebb5899077d477358db102fd9f87751126c3280cf6c58af88d1b23e2