[INFO] updating cached repository fwcd/LineScript [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fwcd/LineScript [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fwcd/LineScript" "work/ex/clippy-test-run/sources/stable/gh/fwcd/LineScript"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/fwcd/LineScript'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fwcd/LineScript" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/LineScript"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/LineScript'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2253c68d7f1c79a6a25cbacc7ce4879ee10b6b31 [INFO] sha for GitHub repo fwcd/LineScript: 2253c68d7f1c79a6a25cbacc7ce4879ee10b6b31 [INFO] validating manifest of fwcd/LineScript 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 fwcd/LineScript 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 fwcd/LineScript [INFO] finished frobbing fwcd/LineScript [INFO] frobbed toml for fwcd/LineScript written to work/ex/clippy-test-run/sources/stable/gh/fwcd/LineScript/Cargo.toml [INFO] started frobbing fwcd/LineScript [INFO] finished frobbing fwcd/LineScript [INFO] frobbed toml for fwcd/LineScript written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/LineScript/Cargo.toml [INFO] crate fwcd/LineScript 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 fwcd/LineScript against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/fwcd/LineScript:/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] 4b803de0cb46f932bdd4615212b677871864a50770acadd29a8590c74d69e081 [INFO] running `"docker" "start" "-a" "4b803de0cb46f932bdd4615212b677871864a50770acadd29a8590c74d69e081"` [INFO] [stderr] Checking nix v0.9.0 [INFO] [stderr] Checking shared_child v0.3.2 [INFO] [stderr] Checking os_pipe v0.6.0 [INFO] [stderr] Checking duct v0.10.0 [INFO] [stderr] Checking line_script v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/interpreter.rs:81:26 [INFO] [stderr] | [INFO] [stderr] 81 | return LSInterpreter { file: file, execute_commands: true }; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/interpreter.rs:81:26 [INFO] [stderr] | [INFO] [stderr] 81 | return LSInterpreter { file: file, execute_commands: true }; [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/interpreter.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | return match mode { "bash" => true, _ => false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `match mode { "bash" => true, _ => false }` [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/interpreter.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | return match mode { "cmd" => true, _ => false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `match mode { "cmd" => true, _ => false }` [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/interpreter.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/interpreter.rs:25:2 [INFO] [stderr] | [INFO] [stderr] 25 | return command.read().map(|o| o.contains(expected)).unwrap_or(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `command.read().map(|o| o.contains(expected)).unwrap_or(false)` [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/interpreter.rs:51:2 [INFO] [stderr] | [INFO] [stderr] 51 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/interpreter.rs:81:3 [INFO] [stderr] | [INFO] [stderr] 81 | return LSInterpreter { file: file, execute_commands: true }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `LSInterpreter { file: file, execute_commands: true }` [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: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/interpreter.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | return match mode { "bash" => true, _ => false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `match mode { "bash" => true, _ => false }` [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/interpreter.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | return match mode { "cmd" => true, _ => false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `match mode { "cmd" => true, _ => false }` [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/interpreter.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/interpreter.rs:25:2 [INFO] [stderr] | [INFO] [stderr] 25 | return command.read().map(|o| o.contains(expected)).unwrap_or(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `command.read().map(|o| o.contains(expected)).unwrap_or(false)` [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/interpreter.rs:51:2 [INFO] [stderr] | [INFO] [stderr] 51 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/interpreter.rs:81:3 [INFO] [stderr] | [INFO] [stderr] 81 | return LSInterpreter { file: file, execute_commands: true }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `LSInterpreter { file: file, execute_commands: true }` [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | if line.starts_with("#") && line.ends_with("{") { [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:55:45 [INFO] [stderr] | [INFO] [stderr] 55 | if line.starts_with("#") && line.ends_with("{") { [INFO] [stderr] | ^^^ help: try using a char instead: `'{'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | .trim_left_matches("#") [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | } else if line.starts_with("}") { [INFO] [stderr] | ^^^ help: try using a char instead: `'}'` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/interpreter.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | } else if *execute_commands && line.trim().len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!line.trim().is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/interpreter.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | while let Some(arg) = parts.next() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `for arg in parts { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:55:22 [INFO] [stderr] | [INFO] [stderr] 55 | if line.starts_with("#") && line.ends_with("{") { [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:55:45 [INFO] [stderr] | [INFO] [stderr] 55 | if line.starts_with("#") && line.ends_with("{") { [INFO] [stderr] | ^^^ help: try using a char instead: `'{'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | .trim_left_matches("#") [INFO] [stderr] | ^^^ help: try using a char instead: `'#'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/interpreter.rs:62:29 [INFO] [stderr] | [INFO] [stderr] 62 | } else if line.starts_with("}") { [INFO] [stderr] | ^^^ help: try using a char instead: `'}'` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/interpreter.rs:64:33 [INFO] [stderr] | [INFO] [stderr] 64 | } else if *execute_commands && line.trim().len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!line.trim().is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/interpreter.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | while let Some(arg) = parts.next() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `for arg in parts { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.91s [INFO] running `"docker" "inspect" "4b803de0cb46f932bdd4615212b677871864a50770acadd29a8590c74d69e081"` [INFO] running `"docker" "rm" "-f" "4b803de0cb46f932bdd4615212b677871864a50770acadd29a8590c74d69e081"` [INFO] [stdout] 4b803de0cb46f932bdd4615212b677871864a50770acadd29a8590c74d69e081