[INFO] crate neo 0.3.1 is already in cache [INFO] extracting crate neo 0.3.1 into work/ex/clippy-test-run/sources/stable/reg/neo/0.3.1 [INFO] extracting crate neo 0.3.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/neo/0.3.1 [INFO] validating manifest of neo-0.3.1 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 neo-0.3.1 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 neo-0.3.1 [INFO] finished frobbing neo-0.3.1 [INFO] frobbed toml for neo-0.3.1 written to work/ex/clippy-test-run/sources/stable/reg/neo/0.3.1/Cargo.toml [INFO] started frobbing neo-0.3.1 [INFO] finished frobbing neo-0.3.1 [INFO] frobbed toml for neo-0.3.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/neo/0.3.1/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 neo-0.3.1 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/reg/neo/0.3.1:/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] 5a318aaa20b74b24ab1750802d68889431763a3335f6d8e36c596b51af106ead [INFO] running `"docker" "start" "-a" "5a318aaa20b74b24ab1750802d68889431763a3335f6d8e36c596b51af106ead"` [INFO] [stderr] Checking rpassword v2.1.0 [INFO] [stderr] Checking config v0.8.0 [INFO] [stderr] Checking neo v0.3.1 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/site.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | const USER_AGENT: &'static str = concat!("neo/", env!("CARGO_PKG_VERSION")); [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/site.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | const USER_AGENT: &'static str = concat!("neo/", env!("CARGO_PKG_VERSION")); [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/site.rs:233:48 [INFO] [stderr] | [INFO] [stderr] 233 | debug!("response: {}", response.text().unwrap_or("Err".to_owned())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Err".to_owned())` [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: large size difference between variants [INFO] [stderr] --> src/lib.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / error_chain!{ [INFO] [stderr] 21 | | errors { [INFO] [stderr] 22 | | UnexpectedResponse(r: ::reqwest::Response) { [INFO] [stderr] 23 | | description("unexpected network response") [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/site.rs:233:48 [INFO] [stderr] | [INFO] [stderr] 233 | debug!("response: {}", response.text().unwrap_or("Err".to_owned())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "Err".to_owned())` [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: large size difference between variants [INFO] [stderr] --> src/lib.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / error_chain!{ [INFO] [stderr] 21 | | errors { [INFO] [stderr] 22 | | UnexpectedResponse(r: ::reqwest::Response) { [INFO] [stderr] 23 | | description("unexpected network response") [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:140:12 [INFO] [stderr] | [INFO] [stderr] 140 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 141 | | if let Ok(site) = rprompt::prompt_reply_stdout("site: ") { [INFO] [stderr] 142 | | site [INFO] [stderr] 143 | | } else { [INFO] [stderr] 144 | | panic!("no site") [INFO] [stderr] 145 | | } [INFO] [stderr] 146 | | }; [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] 140 | } else if let Ok(site) = rprompt::prompt_reply_stdout("site: ") { [INFO] [stderr] 141 | site [INFO] [stderr] 142 | } else { [INFO] [stderr] 143 | panic!("no site") [INFO] [stderr] 144 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / error_chain!{ [INFO] [stderr] 25 | | links { [INFO] [stderr] 26 | | Neo(::neo::errors::Error, ::neo::errors::ErrorKind); [INFO] [stderr] 27 | | } [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/main.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / fn run() -> Result<()> { [INFO] [stderr] 67 | | trace!("run()"); [INFO] [stderr] 68 | | let app_config = config::Config::build()?; [INFO] [stderr] 69 | | let default_site = app_config.default_site; [INFO] [stderr] ... | [INFO] [stderr] 246 | | Ok(()) [INFO] [stderr] 247 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | / match auth { [INFO] [stderr] 158 | | &config::Auth::Password(ref password) => { [INFO] [stderr] 159 | | neo::site::Auth::Password( [INFO] [stderr] 160 | | neo::site::Password{ [INFO] [stderr] ... | [INFO] [stderr] 170 | | }, [INFO] [stderr] 171 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 157 | match *auth { [INFO] [stderr] 158 | config::Auth::Password(ref password) => { [INFO] [stderr] 159 | neo::site::Auth::Password( [INFO] [stderr] 160 | neo::site::Password{ [INFO] [stderr] 161 | user: site.clone(), [INFO] [stderr] 162 | password: password.password.to_owned() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:227:41 [INFO] [stderr] | [INFO] [stderr] 227 | if path_str.starts_with(":") { // explicit path [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:140:12 [INFO] [stderr] | [INFO] [stderr] 140 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 141 | | if let Ok(site) = rprompt::prompt_reply_stdout("site: ") { [INFO] [stderr] 142 | | site [INFO] [stderr] 143 | | } else { [INFO] [stderr] 144 | | panic!("no site") [INFO] [stderr] 145 | | } [INFO] [stderr] 146 | | }; [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] 140 | } else if let Ok(site) = rprompt::prompt_reply_stdout("site: ") { [INFO] [stderr] 141 | site [INFO] [stderr] 142 | } else { [INFO] [stderr] 143 | panic!("no site") [INFO] [stderr] 144 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / error_chain!{ [INFO] [stderr] 25 | | links { [INFO] [stderr] 26 | | Neo(::neo::errors::Error, ::neo::errors::ErrorKind); [INFO] [stderr] 27 | | } [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/main.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / fn run() -> Result<()> { [INFO] [stderr] 67 | | trace!("run()"); [INFO] [stderr] 68 | | let app_config = config::Config::build()?; [INFO] [stderr] 69 | | let default_site = app_config.default_site; [INFO] [stderr] ... | [INFO] [stderr] 246 | | Ok(()) [INFO] [stderr] 247 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | / match auth { [INFO] [stderr] 158 | | &config::Auth::Password(ref password) => { [INFO] [stderr] 159 | | neo::site::Auth::Password( [INFO] [stderr] 160 | | neo::site::Password{ [INFO] [stderr] ... | [INFO] [stderr] 170 | | }, [INFO] [stderr] 171 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 157 | match *auth { [INFO] [stderr] 158 | config::Auth::Password(ref password) => { [INFO] [stderr] 159 | neo::site::Auth::Password( [INFO] [stderr] 160 | neo::site::Password{ [INFO] [stderr] 161 | user: site.clone(), [INFO] [stderr] 162 | password: password.password.to_owned() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:227:41 [INFO] [stderr] | [INFO] [stderr] 227 | if path_str.starts_with(":") { // explicit path [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] Finished dev [unoptimized + debuginfo] target(s) in 24.67s [INFO] running `"docker" "inspect" "5a318aaa20b74b24ab1750802d68889431763a3335f6d8e36c596b51af106ead"` [INFO] running `"docker" "rm" "-f" "5a318aaa20b74b24ab1750802d68889431763a3335f6d8e36c596b51af106ead"` [INFO] [stdout] 5a318aaa20b74b24ab1750802d68889431763a3335f6d8e36c596b51af106ead