[INFO] updating cached repository FreeMasen/JoeMollen.com [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/FreeMasen/JoeMollen.com [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/FreeMasen/JoeMollen.com" "work/ex/clippy-test-run/sources/stable/gh/FreeMasen/JoeMollen.com"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/FreeMasen/JoeMollen.com'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/FreeMasen/JoeMollen.com" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FreeMasen/JoeMollen.com"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FreeMasen/JoeMollen.com'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b707d13d3fac500541c33f536663b27af646b7dd [INFO] sha for GitHub repo FreeMasen/JoeMollen.com: b707d13d3fac500541c33f536663b27af646b7dd [INFO] validating manifest of FreeMasen/JoeMollen.com 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 FreeMasen/JoeMollen.com 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 FreeMasen/JoeMollen.com [INFO] finished frobbing FreeMasen/JoeMollen.com [INFO] frobbed toml for FreeMasen/JoeMollen.com written to work/ex/clippy-test-run/sources/stable/gh/FreeMasen/JoeMollen.com/Cargo.toml [INFO] started frobbing FreeMasen/JoeMollen.com [INFO] finished frobbing FreeMasen/JoeMollen.com [INFO] frobbed toml for FreeMasen/JoeMollen.com written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FreeMasen/JoeMollen.com/Cargo.toml [INFO] crate FreeMasen/JoeMollen.com 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 FreeMasen/JoeMollen.com against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/FreeMasen/JoeMollen.com:/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] ecb6a313b000ec9c5eef760c92a19c48b41e85c97c8c7c6b8b95132823b182c4 [INFO] running `"docker" "start" "-a" "ecb6a313b000ec9c5eef760c92a19c48b41e85c97c8c7c6b8b95132823b182c4"` [INFO] [stderr] Checking toml v0.4.5 [INFO] [stderr] Checking serde_json v1.0.12 [INFO] [stderr] Checking clap v2.31.2 [INFO] [stderr] Checking error-chain v0.11.0 [INFO] [stderr] Checking tera v0.11.5 [INFO] [stderr] Checking jm v0.1.10 (/opt/crater/workdir) [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/main.rs:82:6 [INFO] [stderr] | [INFO] [stderr] 82 | } if let Some(_matches) = matches.subcommand_matches("interactive") { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/main.rs:82:6 [INFO] [stderr] | [INFO] [stderr] 82 | } if let Some(_matches) = matches.subcommand_matches("interactive") { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/page.rs:128:41 [INFO] [stderr] | [INFO] [stderr] 128 | if name.starts_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: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:42:39 [INFO] [stderr] | [INFO] [stderr] 42 | db.create(&self.output()).expect(&format!("Unable to create base folder: {:?}", &self.output)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create base folder: {:?}", &self.output))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:93:59 [INFO] [stderr] | [INFO] [stderr] 93 | let mut index = File::create(&index_path).expect(&format!("Unable to create {:?}", &index_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create {:?}", &index_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:94:50 [INFO] [stderr] | [INFO] [stderr] 94 | index.write_all(html.as_bytes()).expect(&format!("Unable to write html for {:?}", &index_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to write html for {:?}", &index_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | db.create(&out_img).expect(&format!("unable to create img forlder{:?}", &out_img)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("unable to create img forlder{:?}", &out_img))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn index_html(&self, pages: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Page]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | if let Ok(_) = stdin().read_line(&mut input) { [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 221 | | let trimmed = input.trim(); [INFO] [stderr] 222 | | if trimmed == "" { [INFO] [stderr] 223 | | return String::from("input"); [INFO] [stderr] ... | [INFO] [stderr] 226 | | } [INFO] [stderr] 227 | | } [INFO] [stderr] | |_________- help: try this: `if stdin().read_line(&mut input).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:235:16 [INFO] [stderr] | [INFO] [stderr] 235 | if let Ok(_) = stdin().read_line(&mut input) { [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 236 | | let trimmed = input.trim(); [INFO] [stderr] 237 | | if trimmed == "" { [INFO] [stderr] 238 | | return String::from("www"); [INFO] [stderr] ... | [INFO] [stderr] 241 | | } [INFO] [stderr] 242 | | } [INFO] [stderr] | |_________- help: try this: `if stdin().read_line(&mut input).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/page.rs:128:41 [INFO] [stderr] | [INFO] [stderr] 128 | if name.starts_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: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:42:39 [INFO] [stderr] | [INFO] [stderr] 42 | db.create(&self.output()).expect(&format!("Unable to create base folder: {:?}", &self.output)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create base folder: {:?}", &self.output))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:93:59 [INFO] [stderr] | [INFO] [stderr] 93 | let mut index = File::create(&index_path).expect(&format!("Unable to create {:?}", &index_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to create {:?}", &index_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:94:50 [INFO] [stderr] | [INFO] [stderr] 94 | index.write_all(html.as_bytes()).expect(&format!("Unable to write html for {:?}", &index_path)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Unable to write html for {:?}", &index_path))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/writer.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | db.create(&out_img).expect(&format!("unable to create img forlder{:?}", &out_img)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("unable to create img forlder{:?}", &out_img))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/writer.rs:152:37 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn index_html(&self, pages: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Page]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | if let Ok(_) = stdin().read_line(&mut input) { [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 221 | | let trimmed = input.trim(); [INFO] [stderr] 222 | | if trimmed == "" { [INFO] [stderr] 223 | | return String::from("input"); [INFO] [stderr] ... | [INFO] [stderr] 226 | | } [INFO] [stderr] 227 | | } [INFO] [stderr] | |_________- help: try this: `if stdin().read_line(&mut input).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/main.rs:235:16 [INFO] [stderr] | [INFO] [stderr] 235 | if let Ok(_) = stdin().read_line(&mut input) { [INFO] [stderr] | _________- ^^^^^ [INFO] [stderr] 236 | | let trimmed = input.trim(); [INFO] [stderr] 237 | | if trimmed == "" { [INFO] [stderr] 238 | | return String::from("www"); [INFO] [stderr] ... | [INFO] [stderr] 241 | | } [INFO] [stderr] 242 | | } [INFO] [stderr] | |_________- help: try this: `if stdin().read_line(&mut input).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.42s [INFO] running `"docker" "inspect" "ecb6a313b000ec9c5eef760c92a19c48b41e85c97c8c7c6b8b95132823b182c4"` [INFO] running `"docker" "rm" "-f" "ecb6a313b000ec9c5eef760c92a19c48b41e85c97c8c7c6b8b95132823b182c4"` [INFO] [stdout] ecb6a313b000ec9c5eef760c92a19c48b41e85c97c8c7c6b8b95132823b182c4