[INFO] updating cached repository jasonwhite/ubercopy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jasonwhite/ubercopy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jasonwhite/ubercopy" "work/ex/clippy-test-run/sources/stable/gh/jasonwhite/ubercopy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/jasonwhite/ubercopy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jasonwhite/ubercopy" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jasonwhite/ubercopy"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jasonwhite/ubercopy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 44dcb81c1345c59f62f40e6086290f139136fe41 [INFO] sha for GitHub repo jasonwhite/ubercopy: 44dcb81c1345c59f62f40e6086290f139136fe41 [INFO] validating manifest of jasonwhite/ubercopy 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 jasonwhite/ubercopy 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 jasonwhite/ubercopy [INFO] finished frobbing jasonwhite/ubercopy [INFO] frobbed toml for jasonwhite/ubercopy written to work/ex/clippy-test-run/sources/stable/gh/jasonwhite/ubercopy/Cargo.toml [INFO] started frobbing jasonwhite/ubercopy [INFO] finished frobbing jasonwhite/ubercopy [INFO] frobbed toml for jasonwhite/ubercopy written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jasonwhite/ubercopy/Cargo.toml [INFO] crate jasonwhite/ubercopy 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 jasonwhite/ubercopy against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/jasonwhite/ubercopy:/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] 1e022547f835d3e256507135cfbe7696eb433932250a15b29f774ca042ca7c0e [INFO] running `"docker" "start" "-a" "1e022547f835d3e256507135cfbe7696eb433932250a15b29f774ca042ca7c0e"` [INFO] [stderr] Compiling winapi v0.3.5 [INFO] [stderr] Checking scopeguard v0.1.2 [INFO] [stderr] Checking variance v0.1.3 [INFO] [stderr] Checking nix v0.11.0 [INFO] [stderr] Checking miniz-sys v0.1.10 [INFO] [stderr] Checking atty v0.2.10 [INFO] [stderr] Checking serde_yaml v0.7.4 [INFO] [stderr] Checking ordered-float v0.5.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking flate2 v0.2.20 [INFO] [stderr] Checking scoped-pool v1.0.0 [INFO] [stderr] Checking serde-value v0.5.2 [INFO] [stderr] Checking chrono v0.3.0 [INFO] [stderr] Checking shared_child v0.3.3 [INFO] [stderr] Checking log4rs v0.7.0 [INFO] [stderr] Checking os_pipe v0.7.0 [INFO] [stderr] Checking duct v0.11.1 [INFO] [stderr] Checking ubercopy v1.0.2 (/opt/crater/workdir) [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/args.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/iter.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/iter.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [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/iter.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [INFO] [stderr] | [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/manifest.rs:113:23 [INFO] [stderr] | [INFO] [stderr] 113 | Ok(Manifest { operations: operations }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations` [INFO] [stderr] | [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: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/args.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/iter.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/iter.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [INFO] [stderr] | [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/iter.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [INFO] [stderr] | [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/manifest.rs:113:23 [INFO] [stderr] | [INFO] [stderr] 113 | Ok(Manifest { operations: operations }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/error.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | const OVERLAP: &'static str = "\ [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/error.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | const DUPLICATES: &'static str = "\ [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/error.rs:92:25 [INFO] [stderr] | [INFO] [stderr] 92 | const MISSING_SOURCES: &'static str = "\ [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/error.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | const CREATE_DIRS: &'static str = "\ [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/error.rs:99:16 [INFO] [stderr] | [INFO] [stderr] 99 | const DELETE: &'static str = "\ [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/error.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | const DELETE_DIRS: &'static str = "\ [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/error.rs:105:16 [INFO] [stderr] | [INFO] [stderr] 105 | const COPIES: &'static str = "\ [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/error.rs:108:33 [INFO] [stderr] | [INFO] [stderr] 108 | const VERIFICATION_INCOMPLETE: &'static str = "\ [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/error.rs:113:29 [INFO] [stderr] | [INFO] [stderr] 113 | const VERIFICATION_ERRORS: &'static str = "\ [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/error.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | const OVERLAP: &'static str = "\ [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/error.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | const DUPLICATES: &'static str = "\ [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/error.rs:92:25 [INFO] [stderr] | [INFO] [stderr] 92 | const MISSING_SOURCES: &'static str = "\ [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/error.rs:96:21 [INFO] [stderr] | [INFO] [stderr] 96 | const CREATE_DIRS: &'static str = "\ [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/error.rs:99:16 [INFO] [stderr] | [INFO] [stderr] 99 | const DELETE: &'static str = "\ [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/error.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | const DELETE_DIRS: &'static str = "\ [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/error.rs:105:16 [INFO] [stderr] | [INFO] [stderr] 105 | const COPIES: &'static str = "\ [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/error.rs:108:33 [INFO] [stderr] | [INFO] [stderr] 108 | const VERIFICATION_INCOMPLETE: &'static str = "\ [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/error.rs:113:29 [INFO] [stderr] | [INFO] [stderr] 113 | const VERIFICATION_ERRORS: &'static str = "\ [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: redundant closure found [INFO] [stderr] --> src/args.rs:142:40 [INFO] [stderr] | [INFO] [stderr] 142 | Some(vals) => vals.map(|s| String::from(s)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/iter.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | / if self.prev.is_none() { [INFO] [stderr] 135 | | return None; [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `self.prev?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/manifest.rs:62:52 [INFO] [stderr] | [INFO] [stderr] 62 | if line.is_empty() || line.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 `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:69:32 [INFO] [stderr] | [INFO] [stderr] 69 | let src = s.next().ok_or( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 70 | | format!("Missing source file on line {}", i + 1), [INFO] [stderr] 71 | | )?; [INFO] [stderr] | |_____________^ help: try this: `ok_or_else(|| format!("Missing source file on line {}", i + 1))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:72:33 [INFO] [stderr] | [INFO] [stderr] 72 | let dest = s.next().ok_or(format!( [INFO] [stderr] | _________________________________^ [INFO] [stderr] 73 | | "Missing destination file on line {}", [INFO] [stderr] 74 | | i + 1 [INFO] [stderr] 75 | | ))?; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | let dest = s.next().ok_or_else(|| format!( [INFO] [stderr] 73 | "Missing destination file on line {}", [INFO] [stderr] 74 | i + 1 [INFO] [stderr] 75 | ))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/sync.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn sync<'a>( [INFO] [stderr] 93 | | prev: &'a Manifest, [INFO] [stderr] 94 | | next: &'a Manifest, [INFO] [stderr] 95 | | dryrun: bool, [INFO] [stderr] ... | [INFO] [stderr] 278 | | Ok(outdated.len()) [INFO] [stderr] 279 | | } [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/sync.rs:207:32 [INFO] [stderr] | [INFO] [stderr] 207 | let dirs: Vec<&Path> = dirs.iter().unique().map(|p| *p).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `dirs.iter().unique().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/args.rs:142:40 [INFO] [stderr] | [INFO] [stderr] 142 | Some(vals) => vals.map(|s| String::from(s)).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [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: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/iter.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | / if self.prev.is_none() { [INFO] [stderr] 135 | | return None; [INFO] [stderr] 136 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `self.prev?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/manifest.rs:62:52 [INFO] [stderr] | [INFO] [stderr] 62 | if line.is_empty() || line.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 `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:69:32 [INFO] [stderr] | [INFO] [stderr] 69 | let src = s.next().ok_or( [INFO] [stderr] | ________________________________^ [INFO] [stderr] 70 | | format!("Missing source file on line {}", i + 1), [INFO] [stderr] 71 | | )?; [INFO] [stderr] | |_____________^ help: try this: `ok_or_else(|| format!("Missing source file on line {}", i + 1))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:72:33 [INFO] [stderr] | [INFO] [stderr] 72 | let dest = s.next().ok_or(format!( [INFO] [stderr] | _________________________________^ [INFO] [stderr] 73 | | "Missing destination file on line {}", [INFO] [stderr] 74 | | i + 1 [INFO] [stderr] 75 | | ))?; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | let dest = s.next().ok_or_else(|| format!( [INFO] [stderr] 73 | "Missing destination file on line {}", [INFO] [stderr] 74 | i + 1 [INFO] [stderr] 75 | ))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/sync.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn sync<'a>( [INFO] [stderr] 93 | | prev: &'a Manifest, [INFO] [stderr] 94 | | next: &'a Manifest, [INFO] [stderr] 95 | | dryrun: bool, [INFO] [stderr] ... | [INFO] [stderr] 278 | | Ok(outdated.len()) [INFO] [stderr] 279 | | } [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/sync.rs:207:32 [INFO] [stderr] | [INFO] [stderr] 207 | let dirs: Vec<&Path> = dirs.iter().unique().map(|p| *p).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `dirs.iter().unique().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 18.43s [INFO] running `"docker" "inspect" "1e022547f835d3e256507135cfbe7696eb433932250a15b29f774ca042ca7c0e"` [INFO] running `"docker" "rm" "-f" "1e022547f835d3e256507135cfbe7696eb433932250a15b29f774ca042ca7c0e"` [INFO] [stdout] 1e022547f835d3e256507135cfbe7696eb433932250a15b29f774ca042ca7c0e