[INFO] crate cargo-script 0.2.8 is already in cache [INFO] extracting crate cargo-script 0.2.8 into work/ex/clippy-test-run/sources/stable/reg/cargo-script/0.2.8 [INFO] extracting crate cargo-script 0.2.8 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-script/0.2.8 [INFO] validating manifest of cargo-script-0.2.8 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 cargo-script-0.2.8 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 cargo-script-0.2.8 [INFO] finished frobbing cargo-script-0.2.8 [INFO] frobbed toml for cargo-script-0.2.8 written to work/ex/clippy-test-run/sources/stable/reg/cargo-script/0.2.8/Cargo.toml [INFO] started frobbing cargo-script-0.2.8 [INFO] finished frobbing cargo-script-0.2.8 [INFO] frobbed toml for cargo-script-0.2.8 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-script/0.2.8/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 cargo-script-0.2.8 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/cargo-script/0.2.8:/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] 4a7abb418fe80c331367df02c6ca11fdd97e8caee1b114905a3c677e3681b87f [INFO] running `"docker" "start" "-a" "4a7abb418fe80c331367df02c6ca11fdd97e8caee1b114905a3c677e3681b87f"` [INFO] [stderr] Checking gcc v0.3.55 [INFO] [stderr] Compiling hoedown v6.0.0 [INFO] [stderr] Compiling strcursor v0.2.5 [INFO] [stderr] Compiling scan-rules v0.2.0 [INFO] [stderr] Compiling cargo-script v0.2.8 (/opt/crater/workdir) [INFO] [stderr] Checking shaman v0.1.0 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/util.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | child: child, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `child` [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/main.rs:1031:13 [INFO] [stderr] | [INFO] [stderr] 1031 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/main.rs:1034:13 [INFO] [stderr] | [INFO] [stderr] 1034 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/main.rs:1035:13 [INFO] [stderr] | [INFO] [stderr] 1035 | deps: deps, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `deps` [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/main.rs:1036:13 [INFO] [stderr] | [INFO] [stderr] 1036 | prelude: prelude, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `prelude` [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/main.rs:1037:13 [INFO] [stderr] | [INFO] [stderr] 1037 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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/main.rs:1050:9 [INFO] [stderr] | [INFO] [stderr] 1050 | pkg_path: pkg_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `pkg_path` [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/main.rs:1051:9 [INFO] [stderr] | [INFO] [stderr] 1051 | using_cache: using_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `using_cache` [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/main.rs:1057:9 [INFO] [stderr] | [INFO] [stderr] 1057 | build_kind: build_kind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `build_kind` [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/main.rs:1467:33 [INFO] [stderr] | [INFO] [stderr] 1467 | Ok(FileOverwrite::Changed { new_hash: new_hash }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `new_hash` [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/util.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | child: child, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `child` [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/main.rs:1031:13 [INFO] [stderr] | [INFO] [stderr] 1031 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/main.rs:1034:13 [INFO] [stderr] | [INFO] [stderr] 1034 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/main.rs:1035:13 [INFO] [stderr] | [INFO] [stderr] 1035 | deps: deps, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `deps` [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/main.rs:1036:13 [INFO] [stderr] | [INFO] [stderr] 1036 | prelude: prelude, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `prelude` [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/main.rs:1037:13 [INFO] [stderr] | [INFO] [stderr] 1037 | features: features, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `features` [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/main.rs:1050:9 [INFO] [stderr] | [INFO] [stderr] 1050 | pkg_path: pkg_path, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `pkg_path` [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/main.rs:1051:9 [INFO] [stderr] | [INFO] [stderr] 1051 | using_cache: using_cache, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `using_cache` [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/main.rs:1057:9 [INFO] [stderr] | [INFO] [stderr] 1057 | build_kind: build_kind, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `build_kind` [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/main.rs:1467:33 [INFO] [stderr] | [INFO] [stderr] 1467 | Ok(FileOverwrite::Changed { new_hash: new_hash }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `new_hash` [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] --> tests/util/mod.rs:74:27 [INFO] [stderr] | [INFO] [stderr] 74 | pub const OUTPUT_MARKER: &'static str = "--output--"; [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] --> tests/util/mod.rs:75:32 [INFO] [stderr] | [INFO] [stderr] 75 | pub const OUTPUT_MARKER_CODE: &'static str = "println!(\"--output--\");"; [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/consts.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | pub const NO_ARGS_MESSAGE: &'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/consts.rs:31:29 [INFO] [stderr] | [INFO] [stderr] 31 | pub const SCRIPT_BODY_SUB: &'static str = "script"; [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/consts.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | pub const SCRIPT_PRELUDE_SUB: &'static str = "prelude"; [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/consts.rs:37:27 [INFO] [stderr] | [INFO] [stderr] 37 | pub const FILE_TEMPLATE: &'static str = r#"#{script}"#; [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/consts.rs:40:27 [INFO] [stderr] | [INFO] [stderr] 40 | pub const EXPR_TEMPLATE: &'static str = r#" [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/consts.rs:72:27 [INFO] [stderr] | [INFO] [stderr] 72 | pub const LOOP_TEMPLATE: &'static str = r#" [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/consts.rs:107:33 [INFO] [stderr] | [INFO] [stderr] 107 | pub const LOOP_COUNT_TEMPLATE: &'static str = r#" [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/consts.rs:144:27 [INFO] [stderr] | [INFO] [stderr] 144 | pub const MANI_NAME_SUB: &'static str = "name"; [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/consts.rs:147:27 [INFO] [stderr] | [INFO] [stderr] 147 | pub const MANI_FILE_SUB: &'static str = "file"; [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/consts.rs:152:30 [INFO] [stderr] | [INFO] [stderr] 152 | pub const DEFAULT_MANIFEST: &'static str = r##" [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/consts.rs:166:27 [INFO] [stderr] | [INFO] [stderr] 166 | pub const METADATA_FILE: &'static str = "metadata.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/consts.rs:171:25 [INFO] [stderr] | [INFO] [stderr] 171 | pub const SEARCH_EXTS: &'static [&'static str] = &["crs", "rs"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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/consts.rs:171:35 [INFO] [stderr] | [INFO] [stderr] 171 | pub const SEARCH_EXTS: &'static [&'static str] = &["crs", "rs"]; [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/platform.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | now_ms_1970_utc [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/platform.rs:52:31 [INFO] [stderr] | [INFO] [stderr] 52 | let now_ms_1970_utc = (now_1970_utc.sec as u64 * 1000) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 53 | | + (now_1970_utc.nsec as u64 / 1_000_000); [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/manifest.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/manifest.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `7` [INFO] [stderr] --> src/consts.rs:187:35 [INFO] [stderr] | [INFO] [stderr] 187 | pub const MAX_CACHE_AGE_MS: u64 = 1*7*24*60*60*1000; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/manifest.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | / match dep.contains('=') { [INFO] [stderr] 363 | | true => { [INFO] [stderr] 364 | | r.push_str(dep); [INFO] [stderr] 365 | | r.push_str("\n"); [INFO] [stderr] ... | [INFO] [stderr] 370 | | } [INFO] [stderr] 371 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 362 | if dep.contains('=') { [INFO] [stderr] 363 | r.push_str(dep); [INFO] [stderr] 364 | r.push_str("\n"); [INFO] [stderr] 365 | } else { [INFO] [stderr] 366 | r.push_str(dep); [INFO] [stderr] 367 | r.push_str("=\"*\"\n"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:987:10 [INFO] [stderr] | [INFO] [stderr] 987 | .ok_or("could not parse default manifest, somehow".into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "could not parse default manifest, somehow".into())` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/manifest.rs:1002:22 [INFO] [stderr] | [INFO] [stderr] 1002 | let quotes = match ver.starts_with("{") { true => "", false => "\"" }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using an if/else expression: `if ver.starts_with("{") { "" } else { "\"" }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/manifest.rs:1002:44 [INFO] [stderr] | [INFO] [stderr] 1002 | let quotes = match ver.starts_with("{") { true => "", false => "\"" }; [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:1010:10 [INFO] [stderr] | [INFO] [stderr] 1010 | .ok_or("could not parse dependency manifest".into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "could not parse dependency manifest".into())` [INFO] [stderr] | [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/manifest.rs:1071:13 [INFO] [stderr] | [INFO] [stderr] 1071 | / match *v { [INFO] [stderr] 1072 | | toml::Value::String(ref mut s) => { [INFO] [stderr] 1073 | | if Path::new(s).is_relative() { [INFO] [stderr] 1074 | | let p = base.join(&*s); [INFO] [stderr] ... | [INFO] [stderr] 1081 | | _ => {} [INFO] [stderr] 1082 | | } [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] 1071 | if let toml::Value::String(ref mut s) = *v { [INFO] [stderr] 1072 | if Path::new(s).is_relative() { [INFO] [stderr] 1073 | let p = base.join(&*s); [INFO] [stderr] 1074 | match p.to_str() { [INFO] [stderr] 1075 | Some(p) => *s = p.into(), [INFO] [stderr] 1076 | None => {}, [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/manifest.rs:1075:25 [INFO] [stderr] | [INFO] [stderr] 1075 | / match p.to_str() { [INFO] [stderr] 1076 | | Some(p) => *s = p.into(), [INFO] [stderr] 1077 | | None => {}, [INFO] [stderr] 1078 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let Some(p) = p.to_str() { *s = p.into() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/manifest.rs:1098:8 [INFO] [stderr] | [INFO] [stderr] 1098 | if path.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/manifest.rs:1106:9 [INFO] [stderr] | [INFO] [stderr] 1106 | / match *base { [INFO] [stderr] 1107 | | toml::Value::Table(ref mut tab) => { [INFO] [stderr] 1108 | | for (_, v) in tab { [INFO] [stderr] 1109 | | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] ... | [INFO] [stderr] 1112 | | _ => {}, [INFO] [stderr] 1113 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1106 | if let toml::Value::Table(ref mut tab) = *base { [INFO] [stderr] 1107 | for (_, v) in tab { [INFO] [stderr] 1108 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1109 | } [INFO] [stderr] 1110 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/manifest.rs:1108:31 [INFO] [stderr] | [INFO] [stderr] 1108 | for (_, v) in tab { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 1108 | for v in tab.values_mut() { [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/manifest.rs:1115:9 [INFO] [stderr] | [INFO] [stderr] 1115 | / match *base { [INFO] [stderr] 1116 | | toml::Value::Table(ref mut tab) => { [INFO] [stderr] 1117 | | match tab.get_mut(cur) { [INFO] [stderr] 1118 | | Some(v) => { [INFO] [stderr] ... | [INFO] [stderr] 1124 | | _ => {}, [INFO] [stderr] 1125 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1115 | if let toml::Value::Table(ref mut tab) = *base { [INFO] [stderr] 1116 | match tab.get_mut(cur) { [INFO] [stderr] 1117 | Some(v) => { [INFO] [stderr] 1118 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1119 | }, [INFO] [stderr] 1120 | None => {}, [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/manifest.rs:1117:17 [INFO] [stderr] | [INFO] [stderr] 1117 | / match tab.get_mut(cur) { [INFO] [stderr] 1118 | | Some(v) => { [INFO] [stderr] 1119 | | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1120 | | }, [INFO] [stderr] 1121 | | None => {}, [INFO] [stderr] 1122 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1117 | if let Some(v) = tab.get_mut(cur) { [INFO] [stderr] 1118 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1119 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/platform.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn for_real(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/consts.rs:17:29 [INFO] [stderr] | [INFO] [stderr] 17 | pub const NO_ARGS_MESSAGE: &'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/consts.rs:31:29 [INFO] [stderr] | [INFO] [stderr] 31 | pub const SCRIPT_BODY_SUB: &'static str = "script"; [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/consts.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | pub const SCRIPT_PRELUDE_SUB: &'static str = "prelude"; [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/consts.rs:37:27 [INFO] [stderr] | [INFO] [stderr] 37 | pub const FILE_TEMPLATE: &'static str = r#"#{script}"#; [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/consts.rs:40:27 [INFO] [stderr] | [INFO] [stderr] 40 | pub const EXPR_TEMPLATE: &'static str = r#" [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/consts.rs:72:27 [INFO] [stderr] | [INFO] [stderr] 72 | pub const LOOP_TEMPLATE: &'static str = r#" [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/consts.rs:107:33 [INFO] [stderr] | [INFO] [stderr] 107 | pub const LOOP_COUNT_TEMPLATE: &'static str = r#" [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/consts.rs:144:27 [INFO] [stderr] | [INFO] [stderr] 144 | pub const MANI_NAME_SUB: &'static str = "name"; [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/consts.rs:147:27 [INFO] [stderr] | [INFO] [stderr] 147 | pub const MANI_FILE_SUB: &'static str = "file"; [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/consts.rs:152:30 [INFO] [stderr] | [INFO] [stderr] 152 | pub const DEFAULT_MANIFEST: &'static str = r##" [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/consts.rs:166:27 [INFO] [stderr] | [INFO] [stderr] 166 | pub const METADATA_FILE: &'static str = "metadata.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/consts.rs:171:25 [INFO] [stderr] | [INFO] [stderr] 171 | pub const SEARCH_EXTS: &'static [&'static str] = &["crs", "rs"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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/consts.rs:171:35 [INFO] [stderr] | [INFO] [stderr] 171 | pub const SEARCH_EXTS: &'static [&'static str] = &["crs", "rs"]; [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: identical conversion [INFO] [stderr] --> src/util.rs:148:32 [INFO] [stderr] | [INFO] [stderr] 148 | return Err(e.into()); [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:131:26 [INFO] [stderr] | [INFO] [stderr] 131 | fn can_exec_directly(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | fn exec_command(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/platform.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | now_ms_1970_utc [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/platform.rs:52:31 [INFO] [stderr] | [INFO] [stderr] 52 | let now_ms_1970_utc = (now_1970_utc.sec as u64 * 1000) [INFO] [stderr] | _______________________________^ [INFO] [stderr] 53 | | + (now_1970_utc.nsec as u64 / 1_000_000); [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/main.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | drop(&mut app); // avoid warning [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_ref)] on by default [INFO] [stderr] note: argument has type &mut clap::App<'_, '_> [INFO] [stderr] --> src/main.rs:327:18 [INFO] [stderr] | [INFO] [stderr] 327 | drop(&mut app); // avoid warning [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:349:52 [INFO] [stderr] | [INFO] [stderr] 349 | v.map(|itr| itr.map(Into::into).collect()).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:488:18 [INFO] [stderr] | [INFO] [stderr] 488 | .unwrap_or("unknown".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "unknown".into())` [INFO] [stderr] | [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: needlessly taken reference of left operand [INFO] [stderr] --> src/main.rs:553:24 [INFO] [stderr] | [INFO] [stderr] 553 | if &version != existing { [INFO] [stderr] | --------^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:580:22 [INFO] [stderr] | [INFO] [stderr] 580 | .map(|d| match d.contains('-') { [INFO] [stderr] | ______________________^ [INFO] [stderr] 581 | | true => Cow::from(d.replace("-", "_")), [INFO] [stderr] 582 | | false => Cow::from(d) [INFO] [stderr] 583 | | }) [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if d.contains('-') { Cow::from(d.replace("-", "_")) } else { Cow::from(d) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:629:62 [INFO] [stderr] | [INFO] [stderr] 629 | cmd.env("CARGO_SCRIPT_SCRIPT_PATH", input.path().unwrap_or(Path::new(""))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new(""))` [INFO] [stderr] | [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: redundant closure found [INFO] [stderr] --> src/main.rs:835:48 [INFO] [stderr] | [INFO] [stderr] 835 | compile_err = get_status!(cmd).map_err(|e| Into::::into(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Into::::into` [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 let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/main.rs:844:9 [INFO] [stderr] | [INFO] [stderr] 844 | let _ = try!(compile_err); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:977:1 [INFO] [stderr] | [INFO] [stderr] 977 | / fn decide_action_for( [INFO] [stderr] 978 | | input: &Input, [INFO] [stderr] 979 | | deps: Vec<(String, String)>, [INFO] [stderr] 980 | | prelude: Vec, [INFO] [stderr] ... | [INFO] [stderr] 1138 | | Ok(action) [INFO] [stderr] 1139 | | } [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: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/manifest.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:1554:19 [INFO] [stderr] | [INFO] [stderr] 1554 | let profile = match meta.debug { [INFO] [stderr] | ___________________^ [INFO] [stderr] 1555 | | true => "debug", [INFO] [stderr] 1556 | | false => "release" [INFO] [stderr] 1557 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if meta.debug { "debug" } else { "release" }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1590:28 [INFO] [stderr] | [INFO] [stderr] 1590 | None => return Err(format!("could not determine target filename: cargo exited abnormally").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine target filename: cargo exited abnormally".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1651:28 [INFO] [stderr] | [INFO] [stderr] 1651 | None => return Err(format!("could not determine cargo version: cargo exited abnormally").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine cargo version: cargo exited abnormally".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1657:28 [INFO] [stderr] | [INFO] [stderr] 1657 | None => return Err(format!("could not determine cargo version: output did not match expected").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine cargo version: output did not match expected".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo-script`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/manifest.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `7` [INFO] [stderr] --> src/consts.rs:187:35 [INFO] [stderr] | [INFO] [stderr] 187 | pub const MAX_CACHE_AGE_MS: u64 = 1*7*24*60*60*1000; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/manifest.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | / match dep.contains('=') { [INFO] [stderr] 363 | | true => { [INFO] [stderr] 364 | | r.push_str(dep); [INFO] [stderr] 365 | | r.push_str("\n"); [INFO] [stderr] ... | [INFO] [stderr] 370 | | } [INFO] [stderr] 371 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 362 | if dep.contains('=') { [INFO] [stderr] 363 | r.push_str(dep); [INFO] [stderr] 364 | r.push_str("\n"); [INFO] [stderr] 365 | } else { [INFO] [stderr] 366 | r.push_str(dep); [INFO] [stderr] 367 | r.push_str("=\"*\"\n"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/manifest.rs:987:10 [INFO] [stderr] | [INFO] [stderr] 987 | .ok_or("could not parse default manifest, somehow".into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "could not parse default manifest, somehow".into())` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/manifest.rs:1002:22 [INFO] [stderr] | [INFO] [stderr] 1002 | let quotes = match ver.starts_with("{") { true => "", false => "\"" }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using an if/else expression: `if ver.starts_with("{") { "" } else { "\"" }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/manifest.rs:1002:44 [INFO] [stderr] | [INFO] [stderr] 1002 | let quotes = match ver.starts_with("{") { true => "", false => "\"" }; [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:1010:10 [INFO] [stderr] | [INFO] [stderr] 1010 | .ok_or("could not parse dependency manifest".into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| "could not parse dependency manifest".into())` [INFO] [stderr] | [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/manifest.rs:1071:13 [INFO] [stderr] | [INFO] [stderr] 1071 | / match *v { [INFO] [stderr] 1072 | | toml::Value::String(ref mut s) => { [INFO] [stderr] 1073 | | if Path::new(s).is_relative() { [INFO] [stderr] 1074 | | let p = base.join(&*s); [INFO] [stderr] ... | [INFO] [stderr] 1081 | | _ => {} [INFO] [stderr] 1082 | | } [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] 1071 | if let toml::Value::String(ref mut s) = *v { [INFO] [stderr] 1072 | if Path::new(s).is_relative() { [INFO] [stderr] 1073 | let p = base.join(&*s); [INFO] [stderr] 1074 | match p.to_str() { [INFO] [stderr] 1075 | Some(p) => *s = p.into(), [INFO] [stderr] 1076 | None => {}, [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/manifest.rs:1075:25 [INFO] [stderr] | [INFO] [stderr] 1075 | / match p.to_str() { [INFO] [stderr] 1076 | | Some(p) => *s = p.into(), [INFO] [stderr] 1077 | | None => {}, [INFO] [stderr] 1078 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let Some(p) = p.to_str() { *s = p.into() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/manifest.rs:1098:8 [INFO] [stderr] | [INFO] [stderr] 1098 | if path.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [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/manifest.rs:1106:9 [INFO] [stderr] | [INFO] [stderr] 1106 | / match *base { [INFO] [stderr] 1107 | | toml::Value::Table(ref mut tab) => { [INFO] [stderr] 1108 | | for (_, v) in tab { [INFO] [stderr] 1109 | | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] ... | [INFO] [stderr] 1112 | | _ => {}, [INFO] [stderr] 1113 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1106 | if let toml::Value::Table(ref mut tab) = *base { [INFO] [stderr] 1107 | for (_, v) in tab { [INFO] [stderr] 1108 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1109 | } [INFO] [stderr] 1110 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/manifest.rs:1108:31 [INFO] [stderr] | [INFO] [stderr] 1108 | for (_, v) in tab { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 1108 | for v in tab.values_mut() { [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/manifest.rs:1115:9 [INFO] [stderr] | [INFO] [stderr] 1115 | / match *base { [INFO] [stderr] 1116 | | toml::Value::Table(ref mut tab) => { [INFO] [stderr] 1117 | | match tab.get_mut(cur) { [INFO] [stderr] 1118 | | Some(v) => { [INFO] [stderr] ... | [INFO] [stderr] 1124 | | _ => {}, [INFO] [stderr] 1125 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1115 | if let toml::Value::Table(ref mut tab) = *base { [INFO] [stderr] 1116 | match tab.get_mut(cur) { [INFO] [stderr] 1117 | Some(v) => { [INFO] [stderr] 1118 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1119 | }, [INFO] [stderr] 1120 | None => {}, [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/manifest.rs:1117:17 [INFO] [stderr] | [INFO] [stderr] 1117 | / match tab.get_mut(cur) { [INFO] [stderr] 1118 | | Some(v) => { [INFO] [stderr] 1119 | | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1120 | | }, [INFO] [stderr] 1121 | | None => {}, [INFO] [stderr] 1122 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 1117 | if let Some(v) = tab.get_mut(cur) { [INFO] [stderr] 1118 | try!(iterate_toml_mut_path(v, tail, on_each)); [INFO] [stderr] 1119 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/platform.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn for_real(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/util.rs:148:32 [INFO] [stderr] | [INFO] [stderr] 148 | return Err(e.into()); [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:131:26 [INFO] [stderr] | [INFO] [stderr] 131 | fn can_exec_directly(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | fn exec_command(&self) -> &'static str { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/main.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | drop(&mut app); // avoid warning [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_ref)] on by default [INFO] [stderr] note: argument has type &mut clap::App<'_, '_> [INFO] [stderr] --> src/main.rs:327:18 [INFO] [stderr] | [INFO] [stderr] 327 | drop(&mut app); // avoid warning [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:349:52 [INFO] [stderr] | [INFO] [stderr] 349 | v.map(|itr| itr.map(Into::into).collect()).unwrap_or(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` [INFO] [stderr] | [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 `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:488:18 [INFO] [stderr] | [INFO] [stderr] 488 | .unwrap_or("unknown".into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "unknown".into())` [INFO] [stderr] | [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: needlessly taken reference of left operand [INFO] [stderr] --> src/main.rs:553:24 [INFO] [stderr] | [INFO] [stderr] 553 | if &version != existing { [INFO] [stderr] | --------^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `version` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:580:22 [INFO] [stderr] | [INFO] [stderr] 580 | .map(|d| match d.contains('-') { [INFO] [stderr] | ______________________^ [INFO] [stderr] 581 | | true => Cow::from(d.replace("-", "_")), [INFO] [stderr] 582 | | false => Cow::from(d) [INFO] [stderr] 583 | | }) [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if d.contains('-') { Cow::from(d.replace("-", "_")) } else { Cow::from(d) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:629:62 [INFO] [stderr] | [INFO] [stderr] 629 | cmd.env("CARGO_SCRIPT_SCRIPT_PATH", input.path().unwrap_or(Path::new(""))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new(""))` [INFO] [stderr] | [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: redundant closure found [INFO] [stderr] --> src/main.rs:835:48 [INFO] [stderr] | [INFO] [stderr] 835 | compile_err = get_status!(cmd).map_err(|e| Into::::into(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Into::::into` [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 let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/main.rs:844:9 [INFO] [stderr] | [INFO] [stderr] 844 | let _ = try!(compile_err); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:977:1 [INFO] [stderr] | [INFO] [stderr] 977 | / fn decide_action_for( [INFO] [stderr] 978 | | input: &Input, [INFO] [stderr] 979 | | deps: Vec<(String, String)>, [INFO] [stderr] 980 | | prelude: Vec, [INFO] [stderr] ... | [INFO] [stderr] 1138 | | Ok(action) [INFO] [stderr] 1139 | | } [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 match on a boolean expression [INFO] [stderr] --> src/main.rs:1554:19 [INFO] [stderr] | [INFO] [stderr] 1554 | let profile = match meta.debug { [INFO] [stderr] | ___________________^ [INFO] [stderr] 1555 | | true => "debug", [INFO] [stderr] 1556 | | false => "release" [INFO] [stderr] 1557 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if meta.debug { "debug" } else { "release" }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1590:28 [INFO] [stderr] | [INFO] [stderr] 1590 | None => return Err(format!("could not determine target filename: cargo exited abnormally").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine target filename: cargo exited abnormally".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1651:28 [INFO] [stderr] | [INFO] [stderr] 1651 | None => return Err(format!("could not determine cargo version: cargo exited abnormally").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine cargo version: cargo exited abnormally".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:1657:28 [INFO] [stderr] | [INFO] [stderr] 1657 | None => return Err(format!("could not determine cargo version: output did not match expected").into()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"could not determine cargo version: output did not match expected".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo-script`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4a7abb418fe80c331367df02c6ca11fdd97e8caee1b114905a3c677e3681b87f"` [INFO] running `"docker" "rm" "-f" "4a7abb418fe80c331367df02c6ca11fdd97e8caee1b114905a3c677e3681b87f"` [INFO] [stdout] 4a7abb418fe80c331367df02c6ca11fdd97e8caee1b114905a3c677e3681b87f