[INFO] crate clit-rs 0.1.11 is already in cache [INFO] extracting crate clit-rs 0.1.11 into work/ex/clippy-test-run/sources/stable/reg/clit-rs/0.1.11 [INFO] extracting crate clit-rs 0.1.11 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/clit-rs/0.1.11 [INFO] validating manifest of clit-rs-0.1.11 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 clit-rs-0.1.11 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 clit-rs-0.1.11 [INFO] finished frobbing clit-rs-0.1.11 [INFO] frobbed toml for clit-rs-0.1.11 written to work/ex/clippy-test-run/sources/stable/reg/clit-rs/0.1.11/Cargo.toml [INFO] started frobbing clit-rs-0.1.11 [INFO] finished frobbing clit-rs-0.1.11 [INFO] frobbed toml for clit-rs-0.1.11 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/clit-rs/0.1.11/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 clit-rs-0.1.11 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/clit-rs/0.1.11:/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] e2886b7bb3c101f9fcba296306d049ab122100334f2bcec3a9a5d67025a603d7 [INFO] running `"docker" "start" "-a" "e2886b7bb3c101f9fcba296306d049ab122100334f2bcec3a9a5d67025a603d7"` [INFO] [stderr] Compiling curl-sys v0.2.5 [INFO] [stderr] Checking curl v0.3.11 [INFO] [stderr] Checking oauth-client-fix v0.1.5 [INFO] [stderr] Checking clit-rs v0.1.11 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | pub const USER_PROFILE: &'static str = "https://api.twitter.com/1.1/statuses/user_timeline.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:222:26 [INFO] [stderr] | [INFO] [stderr] 222 | pub const TIMELINE: &'static str = "https://api.twitter.com/1.1/statuses/home_timeline.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:223:31 [INFO] [stderr] | [INFO] [stderr] 223 | pub const STATUS_UPDATE: &'static str = "https://api.twitter.com/1.1/statuses/update.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | pub const RETWEET: &'static str = "https://api.twitter.com/1.1/statuses/retweet/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:225:24 [INFO] [stderr] | [INFO] [stderr] 225 | pub const DELETE: &'static str = "https://api.twitter.com/1.1/statuses/destroy/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:221:30 [INFO] [stderr] | [INFO] [stderr] 221 | pub const USER_PROFILE: &'static str = "https://api.twitter.com/1.1/statuses/user_timeline.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:222:26 [INFO] [stderr] | [INFO] [stderr] 222 | pub const TIMELINE: &'static str = "https://api.twitter.com/1.1/statuses/home_timeline.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:223:31 [INFO] [stderr] | [INFO] [stderr] 223 | pub const STATUS_UPDATE: &'static str = "https://api.twitter.com/1.1/statuses/update.json"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:224:25 [INFO] [stderr] | [INFO] [stderr] 224 | pub const RETWEET: &'static str = "https://api.twitter.com/1.1/statuses/retweet/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:225:24 [INFO] [stderr] | [INFO] [stderr] 225 | pub const DELETE: &'static str = "https://api.twitter.com/1.1/statuses/destroy/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed`. [INFO] [stderr] --> src/lib.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | for i in 0..parsed.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] 104 | for in &parsed { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed`. [INFO] [stderr] --> src/lib.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..parsed.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 186 | for in &parsed { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed`. [INFO] [stderr] --> src/lib.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | for i in 0..parsed.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] 104 | for in &parsed { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parsed`. [INFO] [stderr] --> src/lib.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | for i in 0..parsed.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [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] 186 | for in &parsed { [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:65:14 [INFO] [stderr] | [INFO] [stderr] 65 | else { [INFO] [stderr] | ______________^ [INFO] [stderr] 66 | | if let Some(num) = command.value_of("count") { [INFO] [stderr] 67 | | let num_int = num.parse::() [INFO] [stderr] 68 | | .expect("Please enter a positive whole number"); [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [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] 65 | else if let Some(num) = command.value_of("count") { [INFO] [stderr] 66 | let num_int = num.parse::() [INFO] [stderr] 67 | .expect("Please enter a positive whole number"); [INFO] [stderr] 68 | print_profile("", num_int, show_ids, key, token); [INFO] [stderr] 69 | } [INFO] [stderr] 70 | else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:32:31 [INFO] [stderr] | [INFO] [stderr] 32 | let mut path_in = std::env::home_dir().expect("Couldn't determine home directory! Please enter path to credentials with -c or --cred."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | else if let Some(_) = matches.subcommand_matches("input") { [INFO] [stderr] | __________- ^^^^^^^ [INFO] [stderr] 100 | | let mut buf_in = String::new(); [INFO] [stderr] 101 | | io::stdin().read_to_string(&mut buf_in) [INFO] [stderr] 102 | | .expect("Failed to read from stdin. Make sure you piped in valid string data!"); [INFO] [stderr] ... | [INFO] [stderr] 142 | | println!("No command entered, or command failed to parse. Check tw --help if you need help :)"); [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("input").is_some()` [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_some()` [INFO] [stderr] --> src/main.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | else if let Some(_) = matches.subcommand_matches("raw") { [INFO] [stderr] | __________- ^^^^^^^ [INFO] [stderr] 137 | | profile_raw(key, token); [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | [INFO] [stderr] ... | [INFO] [stderr] 142 | | println!("No command entered, or command failed to parse. Check tw --help if you need help :)"); [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("raw").is_some()` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:65:14 [INFO] [stderr] | [INFO] [stderr] 65 | else { [INFO] [stderr] | ______________^ [INFO] [stderr] 66 | | if let Some(num) = command.value_of("count") { [INFO] [stderr] 67 | | let num_int = num.parse::() [INFO] [stderr] 68 | | .expect("Please enter a positive whole number"); [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [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] 65 | else if let Some(num) = command.value_of("count") { [INFO] [stderr] 66 | let num_int = num.parse::() [INFO] [stderr] 67 | .expect("Please enter a positive whole number"); [INFO] [stderr] 68 | print_profile("", num_int, show_ids, key, token); [INFO] [stderr] 69 | } [INFO] [stderr] 70 | else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:32:31 [INFO] [stderr] | [INFO] [stderr] 32 | let mut path_in = std::env::home_dir().expect("Couldn't determine home directory! Please enter path to credentials with -c or --cred."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | else if let Some(_) = matches.subcommand_matches("input") { [INFO] [stderr] | __________- ^^^^^^^ [INFO] [stderr] 100 | | let mut buf_in = String::new(); [INFO] [stderr] 101 | | io::stdin().read_to_string(&mut buf_in) [INFO] [stderr] 102 | | .expect("Failed to read from stdin. Make sure you piped in valid string data!"); [INFO] [stderr] ... | [INFO] [stderr] 142 | | println!("No command entered, or command failed to parse. Check tw --help if you need help :)"); [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("input").is_some()` [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_some()` [INFO] [stderr] --> src/main.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | else if let Some(_) = matches.subcommand_matches("raw") { [INFO] [stderr] | __________- ^^^^^^^ [INFO] [stderr] 137 | | profile_raw(key, token); [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | [INFO] [stderr] ... | [INFO] [stderr] 142 | | println!("No command entered, or command failed to parse. Check tw --help if you need help :)"); [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____- help: try this: `if matches.subcommand_matches("raw").is_some()` [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 1m 57s [INFO] running `"docker" "inspect" "e2886b7bb3c101f9fcba296306d049ab122100334f2bcec3a9a5d67025a603d7"` [INFO] running `"docker" "rm" "-f" "e2886b7bb3c101f9fcba296306d049ab122100334f2bcec3a9a5d67025a603d7"` [INFO] [stdout] e2886b7bb3c101f9fcba296306d049ab122100334f2bcec3a9a5d67025a603d7