[INFO] updating cached repository kamarkiewicz/rusty_ems [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kamarkiewicz/rusty_ems [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kamarkiewicz/rusty_ems" "work/ex/clippy-test-run/sources/stable/gh/kamarkiewicz/rusty_ems"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kamarkiewicz/rusty_ems'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kamarkiewicz/rusty_ems" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kamarkiewicz/rusty_ems"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kamarkiewicz/rusty_ems'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4b3c3052d7d4a9600ba6b9d91f3fc11d36925ffd [INFO] sha for GitHub repo kamarkiewicz/rusty_ems: 4b3c3052d7d4a9600ba6b9d91f3fc11d36925ffd [INFO] validating manifest of kamarkiewicz/rusty_ems 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 kamarkiewicz/rusty_ems 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 kamarkiewicz/rusty_ems [INFO] finished frobbing kamarkiewicz/rusty_ems [INFO] frobbed toml for kamarkiewicz/rusty_ems written to work/ex/clippy-test-run/sources/stable/gh/kamarkiewicz/rusty_ems/Cargo.toml [INFO] started frobbing kamarkiewicz/rusty_ems [INFO] finished frobbing kamarkiewicz/rusty_ems [INFO] frobbed toml for kamarkiewicz/rusty_ems written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kamarkiewicz/rusty_ems/Cargo.toml [INFO] crate kamarkiewicz/rusty_ems 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] [stderr] Blocking waiting for file lock on the registry index [INFO] linting kamarkiewicz/rusty_ems against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kamarkiewicz/rusty_ems:/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] 0b7008b482b004376b8f660f0d70d54b54149ab378b37b4fdb50a003752ef609 [INFO] running `"docker" "start" "-a" "0b7008b482b004376b8f660f0d70d54b54149ab378b37b4fdb50a003752ef609"` [INFO] [stderr] Compiling typenum v1.5.2 [INFO] [stderr] Checking constant_time_eq v0.1.2 [INFO] [stderr] Checking byte-tools v0.1.3 [INFO] [stderr] Checking nodrop v0.1.9 [INFO] [stderr] Checking iovec v0.1.0 [INFO] [stderr] Checking unicode-bidi v0.2.6 [INFO] [stderr] Checking serde_json v1.0.2 [INFO] [stderr] Checking backtrace-sys v0.1.11 [INFO] [stderr] Compiling postgres-derive v0.3.1 [INFO] [stderr] Checking chrono v0.3.0 [INFO] [stderr] Checking backtrace v0.3.2 [INFO] [stderr] Checking bytes v0.4.4 [INFO] [stderr] Checking stringprep v0.1.0 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking generic-array v0.7.2 [INFO] [stderr] Checking digest v0.5.2 [INFO] [stderr] Checking crypto-mac v0.3.0 [INFO] [stderr] Checking digest-buffer v0.3.1 [INFO] [stderr] Checking sha2 v0.5.3 [INFO] [stderr] Checking hmac v0.1.1 [INFO] [stderr] Checking postgres-protocol v0.3.0 [INFO] [stderr] Checking postgres-shared v0.3.0 [INFO] [stderr] Checking postgres v0.14.2 [INFO] [stderr] Checking rusty_ems v0.95.0 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/api.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | const FORMAT_DATETIME: &'static str = "%Y-%m-%d %H:%M:%S"; [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/api.rs:20:25 [INFO] [stderr] | [INFO] [stderr] 20 | const FORMAT_DATE: &'static str = "%Y-%m-%d"; [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/api.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | const FORMAT: &'static str = "%Y-%m-%d"; [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/api.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | const FORMAT: &'static str = "%Y-%m-%d %H:%M:%S"; [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: unneeded unit return type [INFO] [stderr] --> src/main.rs:77:25 [INFO] [stderr] | [INFO] [stderr] 77 | fn main_ok(e: Response) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:95:24 [INFO] [stderr] | [INFO] [stderr] 95 | fn main_err(e: &Error) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:102:30 [INFO] [stderr] | [INFO] [stderr] 102 | fn debug_main_err(e: &Error) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/api.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | const FORMAT_DATETIME: &'static str = "%Y-%m-%d %H:%M:%S"; [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/api.rs:20:25 [INFO] [stderr] | [INFO] [stderr] 20 | const FORMAT_DATE: &'static str = "%Y-%m-%d"; [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/api.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | const FORMAT: &'static str = "%Y-%m-%d"; [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/api.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | const FORMAT: &'static str = "%Y-%m-%d %H:%M:%S"; [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: unneeded unit return type [INFO] [stderr] --> src/main.rs:77:25 [INFO] [stderr] | [INFO] [stderr] 77 | fn main_ok(e: Response) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:95:24 [INFO] [stderr] | [INFO] [stderr] 95 | fn main_err(e: &Error) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/main.rs:102:30 [INFO] [stderr] | [INFO] [stderr] 102 | fn debug_main_err(e: &Error) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/api.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|dt| Timestamp::DateTime(dt)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Timestamp::DateTime` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/api.rs:28:66 [INFO] [stderr] | [INFO] [stderr] 28 | let date = |_| Date::parse_from_str(&s, FORMAT_DATE).map(|d| Timestamp::Date(d)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Timestamp::Date` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/api.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | Talk(TalkInfo), [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] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 100 | Talk(Box), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/api.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|dt| Timestamp::DateTime(dt)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Timestamp::DateTime` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/api.rs:28:66 [INFO] [stderr] | [INFO] [stderr] 28 | let date = |_| Date::parse_from_str(&s, FORMAT_DATE).map(|d| Timestamp::Date(d)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Timestamp::Date` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/api.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | Talk(TalkInfo), [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] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] | [INFO] [stderr] 100 | Talk(Box), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/api.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / match &info { [INFO] [stderr] 451 | | &Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] 452 | | if secret != SECRET { [INFO] [stderr] 453 | | bail!("invalid secret") [INFO] [stderr] ... | [INFO] [stderr] 456 | | _ => {} [INFO] [stderr] 457 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 450 | if let &Request::Organizer(OrganizerInfo { ref secret, .. }) = &info { [INFO] [stderr] 451 | if secret != SECRET { [INFO] [stderr] 452 | bail!("invalid secret") [INFO] [stderr] 453 | } [INFO] [stderr] 454 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/api.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / match &info { [INFO] [stderr] 451 | | &Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] 452 | | if secret != SECRET { [INFO] [stderr] 453 | | bail!("invalid secret") [INFO] [stderr] ... | [INFO] [stderr] 456 | | _ => {} [INFO] [stderr] 457 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 450 | match info { [INFO] [stderr] 451 | Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/database.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn register_or_accept_talk(conn: &Connection, [INFO] [stderr] 111 | | login: String, [INFO] [stderr] 112 | | password: String, [INFO] [stderr] 113 | | speakerlogin: String, [INFO] [stderr] ... | [INFO] [stderr] 174 | | .chain_err(|| "Unable to evaluate the talk") [INFO] [stderr] 175 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/api.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / match &info { [INFO] [stderr] 451 | | &Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] 452 | | if secret != SECRET { [INFO] [stderr] 453 | | bail!("invalid secret") [INFO] [stderr] ... | [INFO] [stderr] 456 | | _ => {} [INFO] [stderr] 457 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 450 | if let &Request::Organizer(OrganizerInfo { ref secret, .. }) = &info { [INFO] [stderr] 451 | if secret != SECRET { [INFO] [stderr] 452 | bail!("invalid secret") [INFO] [stderr] 453 | } [INFO] [stderr] 454 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/api.rs:450:5 [INFO] [stderr] | [INFO] [stderr] 450 | / match &info { [INFO] [stderr] 451 | | &Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] 452 | | if secret != SECRET { [INFO] [stderr] 453 | | bail!("invalid secret") [INFO] [stderr] ... | [INFO] [stderr] 456 | | _ => {} [INFO] [stderr] 457 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 450 | match info { [INFO] [stderr] 451 | Request::Organizer(OrganizerInfo { ref secret, .. }) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/database.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn register_or_accept_talk(conn: &Connection, [INFO] [stderr] 111 | | login: String, [INFO] [stderr] 112 | | password: String, [INFO] [stderr] 113 | | speakerlogin: String, [INFO] [stderr] ... | [INFO] [stderr] 174 | | .chain_err(|| "Unable to evaluate the talk") [INFO] [stderr] 175 | | } [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] Finished dev [unoptimized + debuginfo] target(s) in 26.00s [INFO] running `"docker" "inspect" "0b7008b482b004376b8f660f0d70d54b54149ab378b37b4fdb50a003752ef609"` [INFO] running `"docker" "rm" "-f" "0b7008b482b004376b8f660f0d70d54b54149ab378b37b4fdb50a003752ef609"` [INFO] [stdout] 0b7008b482b004376b8f660f0d70d54b54149ab378b37b4fdb50a003752ef609