[INFO] crate prettyprint 0.2.0 is already in cache [INFO] extracting crate prettyprint 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/prettyprint/0.2.0 [INFO] extracting crate prettyprint 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/prettyprint/0.2.0 [INFO] validating manifest of prettyprint-0.2.0 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 prettyprint-0.2.0 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 prettyprint-0.2.0 [INFO] finished frobbing prettyprint-0.2.0 [INFO] frobbed toml for prettyprint-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/prettyprint/0.2.0/Cargo.toml [INFO] started frobbing prettyprint-0.2.0 [INFO] finished frobbing prettyprint-0.2.0 [INFO] frobbed toml for prettyprint-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/prettyprint/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 prettyprint-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/prettyprint/0.2.0:/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] a0d3ac73c13fb72b2b14299031240fe109cded7edb70eb06a662221458519140 [INFO] running `"docker" "start" "-a" "a0d3ac73c13fb72b2b14299031240fe109cded7edb70eb06a662221458519140"` [INFO] [stderr] Checking shell-words v0.1.0 [INFO] [stderr] Compiling onig_sys v69.1.0 [INFO] [stderr] Compiling ansi_colours v1.0.1 [INFO] [stderr] Checking content_inspector v0.2.4 [INFO] [stderr] Checking plist v0.3.0 [INFO] [stderr] Compiling darling_core v0.8.3 [INFO] [stderr] Compiling darling_macro v0.8.3 [INFO] [stderr] Checking onig v4.3.1 [INFO] [stderr] Checking syntect v3.0.2 [INFO] [stderr] Compiling darling v0.8.3 [INFO] [stderr] Compiling derive_builder_core v0.4.0 [INFO] [stderr] Compiling derive_builder v0.7.0 [INFO] [stderr] Checking prettyprint v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/printer.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | write!(handle, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/printer.rs:410:13 [INFO] [stderr] | [INFO] [stderr] 410 | write!(handle, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/printer.rs:307:17 [INFO] [stderr] | [INFO] [stderr] 307 | write!(handle, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/printer.rs:410:13 [INFO] [stderr] | [INFO] [stderr] 410 | write!(handle, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/assets.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | syntax [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/assets.rs:114:30 [INFO] [stderr] | [INFO] [stderr] 114 | let syntax = ext_syntax.or(line_syntax); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/line_range.rs:129:16 [INFO] [stderr] | [INFO] [stderr] 129 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 130 | | if self.ranges.iter().any(|r| r.is_inside(line)) { [INFO] [stderr] 131 | | RangeCheckResult::InRange [INFO] [stderr] 132 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 129 | } else if self.ranges.iter().any(|r| r.is_inside(line)) { [INFO] [stderr] 130 | RangeCheckResult::InRange [INFO] [stderr] 131 | } else { [INFO] [stderr] 132 | if line < self.largest_upper_bound { [INFO] [stderr] 133 | RangeCheckResult::OutsideRange [INFO] [stderr] 134 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/line_range.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 133 | | if line < self.largest_upper_bound { [INFO] [stderr] 134 | | RangeCheckResult::OutsideRange [INFO] [stderr] 135 | | } else { [INFO] [stderr] 136 | | RangeCheckResult::AfterLastRange [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 132 | } else if line < self.largest_upper_bound { [INFO] [stderr] 133 | RangeCheckResult::OutsideRange [INFO] [stderr] 134 | } else { [INFO] [stderr] 135 | RangeCheckResult::AfterLastRange [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/assets.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | syntax [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/assets.rs:114:30 [INFO] [stderr] | [INFO] [stderr] 114 | let syntax = ext_syntax.or(line_syntax); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/line_range.rs:129:16 [INFO] [stderr] | [INFO] [stderr] 129 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 130 | | if self.ranges.iter().any(|r| r.is_inside(line)) { [INFO] [stderr] 131 | | RangeCheckResult::InRange [INFO] [stderr] 132 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 129 | } else if self.ranges.iter().any(|r| r.is_inside(line)) { [INFO] [stderr] 130 | RangeCheckResult::InRange [INFO] [stderr] 131 | } else { [INFO] [stderr] 132 | if line < self.largest_upper_bound { [INFO] [stderr] 133 | RangeCheckResult::OutsideRange [INFO] [stderr] 134 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/line_range.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 133 | | if line < self.largest_upper_bound { [INFO] [stderr] 134 | | RangeCheckResult::OutsideRange [INFO] [stderr] 135 | | } else { [INFO] [stderr] 136 | | RangeCheckResult::AfterLastRange [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 132 | } else if line < self.largest_upper_bound { [INFO] [stderr] 133 | RangeCheckResult::OutsideRange [INFO] [stderr] 134 | } else { [INFO] [stderr] 135 | RangeCheckResult::AfterLastRange [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/builder.rs:186:19 [INFO] [stderr] | [INFO] [stderr] 186 | fn print_file<'a, P: Printer>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/builder.rs:201:26 [INFO] [stderr] | [INFO] [stderr] 201 | fn print_file_ranges<'a, P: Printer>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/output.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | .unwrap_or(String::from("less")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from("less"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/output.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | .or(pager_from_env.ok()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| pager_from_env.ok())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (14/7) [INFO] [stderr] --> src/printer.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn new( [INFO] [stderr] 65 | | assets: &'a HighlightingAssets, [INFO] [stderr] 66 | | file: &InputFile, [INFO] [stderr] 67 | | reader: &mut InputFileReader, [INFO] [stderr] ... | [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/builder.rs:186:19 [INFO] [stderr] | [INFO] [stderr] 186 | fn print_file<'a, P: Printer>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/builder.rs:201:26 [INFO] [stderr] | [INFO] [stderr] 201 | fn print_file_ranges<'a, P: Printer>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/printer.rs:247:18 [INFO] [stderr] | [INFO] [stderr] 247 | .unwrap_or("Invalid UTF-16LE".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Invalid UTF-16LE".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/printer.rs:250:18 [INFO] [stderr] | [INFO] [stderr] 250 | .unwrap_or("Invalid UTF-16BE".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Invalid UTF-16BE".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: The function/method `replace_nonprintable` doesn't need a mutable reference [INFO] [stderr] --> src/printer.rs:255:41 [INFO] [stderr] | [INFO] [stderr] 255 | line = replace_nonprintable(&mut line, self.tab_width); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/output.rs:34:14 [INFO] [stderr] | [INFO] [stderr] 34 | .unwrap_or(String::from("less")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from("less"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/output.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | .or(pager_from_env.ok()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| pager_from_env.ok())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (14/7) [INFO] [stderr] --> src/printer.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn new( [INFO] [stderr] 65 | | assets: &'a HighlightingAssets, [INFO] [stderr] 66 | | file: &InputFile, [INFO] [stderr] 67 | | reader: &mut InputFileReader, [INFO] [stderr] ... | [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/printer.rs:247:18 [INFO] [stderr] | [INFO] [stderr] 247 | .unwrap_or("Invalid UTF-16LE".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Invalid UTF-16LE".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/printer.rs:250:18 [INFO] [stderr] | [INFO] [stderr] 250 | .unwrap_or("Invalid UTF-16BE".into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Invalid UTF-16BE".into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: The function/method `replace_nonprintable` doesn't need a mutable reference [INFO] [stderr] --> src/printer.rs:255:41 [INFO] [stderr] | [INFO] [stderr] 255 | line = replace_nonprintable(&mut line, self.tab_width); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 24.93s [INFO] running `"docker" "inspect" "a0d3ac73c13fb72b2b14299031240fe109cded7edb70eb06a662221458519140"` [INFO] running `"docker" "rm" "-f" "a0d3ac73c13fb72b2b14299031240fe109cded7edb70eb06a662221458519140"` [INFO] [stdout] a0d3ac73c13fb72b2b14299031240fe109cded7edb70eb06a662221458519140