[INFO] crate cargo-nuget 0.1.0 is already in cache [INFO] extracting crate cargo-nuget 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/cargo-nuget/0.1.0 [INFO] extracting crate cargo-nuget 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-nuget/0.1.0 [INFO] validating manifest of cargo-nuget-0.1.0 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-nuget-0.1.0 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-nuget-0.1.0 [INFO] finished frobbing cargo-nuget-0.1.0 [INFO] frobbed toml for cargo-nuget-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/cargo-nuget/0.1.0/Cargo.toml [INFO] started frobbing cargo-nuget-0.1.0 [INFO] finished frobbing cargo-nuget-0.1.0 [INFO] frobbed toml for cargo-nuget-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-nuget/0.1.0/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-nuget-0.1.0 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/reg/cargo-nuget/0.1.0:/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] 343b7e7234156a19e7e6dccd6b0148d1d7cd848470e71601f4f90b691df07bf0 [INFO] running `"docker" "start" "-a" "343b7e7234156a19e7e6dccd6b0148d1d7cd848470e71601f4f90b691df07bf0"` [INFO] [stderr] Checking toml v0.2.1 [INFO] [stderr] Checking clap v2.21.3 [INFO] [stderr] Checking zip v0.2.8 [INFO] [stderr] Checking cargo-nuget v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cargo/build/local.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/cargo/build/local.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [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/cargo/build/local.rs:41:55 [INFO] [stderr] | [INFO] [stderr] 41 | false => Err(CargoBuildError::MissingOutput { 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/cargo/build/cross.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/cross.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/cross.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/cargo/build/mod.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | profile: profile, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `profile` [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/cargo/build/mod.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | quiet: quiet, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `quiet` [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/cargo/build/mod.rs:122:25 [INFO] [stderr] | [INFO] [stderr] 122 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/cargo/build/mod.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | profile: profile, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `profile` [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/cargo/build/mod.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | quiet: quiet, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `quiet` [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/cargo/build/mod.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/parse.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/cargo/parse.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | authors: authors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `authors` [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/cargo/mod.rs:32:43 [INFO] [stderr] | [INFO] [stderr] 32 | buf: CargoBufKind::FromFile { 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/nuget/pack.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | rids: rids, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rids` [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/nuget/util/xml.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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: using `println!("")` [INFO] [stderr] --> src/main.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cargo/build/local.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/cargo/build/local.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [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/cargo/build/local.rs:41:55 [INFO] [stderr] | [INFO] [stderr] 41 | false => Err(CargoBuildError::MissingOutput { 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/cargo/build/cross.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/cross.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/cross.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/build/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/cargo/build/mod.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | profile: profile, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `profile` [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/cargo/build/mod.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | quiet: quiet, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `quiet` [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/cargo/build/mod.rs:122:25 [INFO] [stderr] | [INFO] [stderr] 122 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/cargo/build/mod.rs:123:25 [INFO] [stderr] | [INFO] [stderr] 123 | profile: profile, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `profile` [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/cargo/build/mod.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | quiet: quiet, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `quiet` [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/cargo/build/mod.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | targets: targets, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `targets` [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/cargo/parse.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/cargo/parse.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | authors: authors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `authors` [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/cargo/mod.rs:32:43 [INFO] [stderr] | [INFO] [stderr] 32 | buf: CargoBufKind::FromFile { 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/nuget/pack.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | rids: rids, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rids` [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/nuget/util/xml.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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: using `println!("")` [INFO] [stderr] --> src/main.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/args.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | pub const PACK_CMD: &'static str = "pack"; [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/args.rs:6:23 [INFO] [stderr] | [INFO] [stderr] 6 | pub const CROSS_CMD: &'static str = "cross"; [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/args.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | pub const CARGO_WORK_DIR_ARG: &'static str = "cargo-dir"; [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/args.rs:9:35 [INFO] [stderr] | [INFO] [stderr] 9 | pub const CARGO_BUILD_QUIET_ARG: &'static str = "cargo-build-quiet"; [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/args.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | pub const TARGETS_ARG: &'static str = "targets"; [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/args.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | pub const TEST_ARG: &'static str = "test"; [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/args.rs:12:25 [INFO] [stderr] | [INFO] [stderr] 12 | pub const RELEASE_ARG: &'static str = "release"; [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/args.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NUPKG_DIR_ARG: &'static str = "nupkg-dir"; [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/args.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | pub const PACK_CMD: &'static str = "pack"; [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/args.rs:6:23 [INFO] [stderr] | [INFO] [stderr] 6 | pub const CROSS_CMD: &'static str = "cross"; [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/args.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | pub const CARGO_WORK_DIR_ARG: &'static str = "cargo-dir"; [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/args.rs:9:35 [INFO] [stderr] | [INFO] [stderr] 9 | pub const CARGO_BUILD_QUIET_ARG: &'static str = "cargo-build-quiet"; [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/args.rs:10:25 [INFO] [stderr] | [INFO] [stderr] 10 | pub const TARGETS_ARG: &'static str = "targets"; [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/args.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | pub const TEST_ARG: &'static str = "test"; [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/args.rs:12:25 [INFO] [stderr] | [INFO] [stderr] 12 | pub const RELEASE_ARG: &'static str = "release"; [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/args.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NUPKG_DIR_ARG: &'static str = "nupkg-dir"; [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/build/local.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn build_local<'a>(args: CargoLocalBuildArgs<'a>) -> Result { [INFO] [stderr] 21 | | let target = Target::Local; [INFO] [stderr] 22 | | [INFO] [stderr] 23 | | // Run a specialised command if given, but always run `cargo build` [INFO] [stderr] ... | [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/local.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / match path.exists() { [INFO] [stderr] 37 | | true => Ok(CargoBuildOutput { [INFO] [stderr] 38 | | path: path, [INFO] [stderr] 39 | | target: target, [INFO] [stderr] 40 | | }), [INFO] [stderr] 41 | | false => Err(CargoBuildError::MissingOutput { path: path }), [INFO] [stderr] 42 | | } [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] 36 | if path.exists() { Ok(CargoBuildOutput { [INFO] [stderr] 37 | path: path, [INFO] [stderr] 38 | target: target, [INFO] [stderr] 39 | }) } else { Err(CargoBuildError::MissingOutput { path: path }) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/local.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / match output.status.success() { [INFO] [stderr] 109 | | true => Ok(()), [INFO] [stderr] 110 | | false => Err(CargoBuildError::Run), [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if output.status.success() { Ok(()) } else { Err(CargoBuildError::Run) }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/build/cross.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | / pub fn build_cross<'a>( [INFO] [stderr] 29 | | args: CargoCrossBuildArgs<'a>, [INFO] [stderr] 30 | | ) -> Result, CargoBuildError> { [INFO] [stderr] 31 | | args.targets [INFO] [stderr] ... | [INFO] [stderr] 49 | | }) [INFO] [stderr] 50 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/cross.rs:35:45 [INFO] [stderr] | [INFO] [stderr] 35 | CargoCrossTarget::Path(path) => match path.exists() { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 36 | | true => Ok(CargoBuildOutput { [INFO] [stderr] 37 | | path: path.into_owned(), [INFO] [stderr] 38 | | target: Target::Cross(target), [INFO] [stderr] ... | [INFO] [stderr] 42 | | }), [INFO] [stderr] 43 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 35 | CargoCrossTarget::Path(path) => if path.exists() { Ok(CargoBuildOutput { [INFO] [stderr] 36 | path: path.into_owned(), [INFO] [stderr] 37 | target: Target::Cross(target), [INFO] [stderr] 38 | }) } else { Err(CargoBuildError::MissingOutput { [INFO] [stderr] 39 | path: path.into_owned(), [INFO] [stderr] 40 | }) }, [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/cargo/build/mod.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | fn path(&self) -> &'static str { [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cargo/build/mod.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | fn extension(&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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cargo/build/mod.rs:36:15 [INFO] [stderr] | [INFO] [stderr] 36 | fn prefix(&self) -> Option<&'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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let action = match args.is_present(TEST_ARG) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 70 | | true => Action::Test, [INFO] [stderr] 71 | | _ => Action::Build, [INFO] [stderr] 72 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(TEST_ARG) { Action::Test } else { Action::Build }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | let profile = match args.is_present(RELEASE_ARG) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 75 | | true => Profile::Release, [INFO] [stderr] 76 | | _ => Profile::Debug, [INFO] [stderr] 77 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(RELEASE_ARG) { Profile::Release } else { Profile::Debug }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | let action = match args.is_present(TEST_ARG) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 100 | | true => Action::Test, [INFO] [stderr] 101 | | _ => Action::Build, [INFO] [stderr] 102 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(TEST_ARG) { Action::Test } else { Action::Build }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:104:23 [INFO] [stderr] | [INFO] [stderr] 104 | let profile = match args.is_present(RELEASE_ARG) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 105 | | true => Profile::Release, [INFO] [stderr] 106 | | _ => Profile::Debug, [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(RELEASE_ARG) { Profile::Release } else { Profile::Debug }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/parse.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn parse_toml<'a>(args: CargoParseArgs<'a>) -> Result { [INFO] [stderr] 39 | | let buf = get_buf(args.buf)?; [INFO] [stderr] 40 | | [INFO] [stderr] 41 | | let utf8 = str::from_utf8(&buf)?; [INFO] [stderr] ... | [INFO] [stderr] 56 | | Ok(config) [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/parse.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | / fn get_buf<'a>(buf: CargoBufKind<'a>) -> Result, CargoParseError> { [INFO] [stderr] 81 | | match buf { [INFO] [stderr] 82 | | // Read the file to an owned buffer [INFO] [stderr] 83 | | CargoBufKind::FromFile { path } => { [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/parse.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / match is_dylib { [INFO] [stderr] 116 | | true => Ok(true), [INFO] [stderr] 117 | | _ => Ok(false), [INFO] [stderr] 118 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_dylib { Ok(true) } else { Ok(false) }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/version.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn local_version_tag<'a>( [INFO] [stderr] 17 | | ver: CargoLocalVersionArgs<'a>, [INFO] [stderr] 18 | | ) -> Result { [INFO] [stderr] 19 | | let mut ver = Version::parse(ver.version)?; [INFO] [stderr] ... | [INFO] [stderr] 32 | | }) [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cargo/version.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | if ver.pre.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ver.pre.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/spec.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / pub fn spec<'a>(args: NugetSpecArgs<'a>) -> Result, NugetSpecError> { [INFO] [stderr] 62 | | let mut writer = xml::writer()?; [INFO] [stderr] 63 | | [INFO] [stderr] 64 | | let pkg_attr = xml::attr( [INFO] [stderr] ... | [INFO] [stderr] 80 | | }) [INFO] [stderr] 81 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/pack.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn pack<'a>(args: NugetPackArgs<'a>) -> Result { [INFO] [stderr] 37 | | let pkgs: Vec<_> = args.cargo_libs [INFO] [stderr] 38 | | .iter() [INFO] [stderr] 39 | | .filter_map(|(target, path)| { [INFO] [stderr] ... | [INFO] [stderr] 87 | | }) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/nuget/pack.rs:48:8 [INFO] [stderr] | [INFO] [stderr] 48 | if pkgs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pkgs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/save.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn save_nupkg<'a>(args: NugetSaveArgs<'a>) -> Result, NugetSaveError> { [INFO] [stderr] 23 | | let mut f = OpenOptions::new() [INFO] [stderr] 24 | | .write(true) [INFO] [stderr] 25 | | .truncate(true) [INFO] [stderr] ... | [INFO] [stderr] 33 | | Ok(NupkgPath { path: args.path }) [INFO] [stderr] 34 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:144:18 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn cross(&self) -> Option { [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/args.rs:152:23 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn is_unknown(&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/args.rs:156:16 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn rid(&self) -> Cow<'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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:183:16 [INFO] [stderr] | [INFO] [stderr] 183 | pub fn rid(&self) -> Cow<'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: single-character string constant used as pattern [INFO] [stderr] --> src/args.rs:192:35 [INFO] [stderr] | [INFO] [stderr] 192 | let mut parts = rid.split("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | pub fn rid(&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: redundant closure found [INFO] [stderr] --> src/args.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | local_arch().map(|arch| CrossTarget::Linux(arch)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `CrossTarget::Linux` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match cmd { [INFO] [stderr] 52 | | Err(e) => result.err = Some(e), [INFO] [stderr] 53 | | _ => (), [INFO] [stderr] 54 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(e) = cmd { result.err = Some(e) }` [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] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/build/local.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn build_local<'a>(args: CargoLocalBuildArgs<'a>) -> Result { [INFO] [stderr] 21 | | let target = Target::Local; [INFO] [stderr] 22 | | [INFO] [stderr] 23 | | // Run a specialised command if given, but always run `cargo build` [INFO] [stderr] ... | [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/local.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / match path.exists() { [INFO] [stderr] 37 | | true => Ok(CargoBuildOutput { [INFO] [stderr] 38 | | path: path, [INFO] [stderr] 39 | | target: target, [INFO] [stderr] 40 | | }), [INFO] [stderr] 41 | | false => Err(CargoBuildError::MissingOutput { path: path }), [INFO] [stderr] 42 | | } [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] 36 | if path.exists() { Ok(CargoBuildOutput { [INFO] [stderr] 37 | path: path, [INFO] [stderr] 38 | target: target, [INFO] [stderr] 39 | }) } else { Err(CargoBuildError::MissingOutput { path: path }) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/local.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / match output.status.success() { [INFO] [stderr] 109 | | true => Ok(()), [INFO] [stderr] 110 | | false => Err(CargoBuildError::Run), [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if output.status.success() { Ok(()) } else { Err(CargoBuildError::Run) }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/build/cross.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | / pub fn build_cross<'a>( [INFO] [stderr] 29 | | args: CargoCrossBuildArgs<'a>, [INFO] [stderr] 30 | | ) -> Result, CargoBuildError> { [INFO] [stderr] 31 | | args.targets [INFO] [stderr] ... | [INFO] [stderr] 49 | | }) [INFO] [stderr] 50 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/cross.rs:35:45 [INFO] [stderr] | [INFO] [stderr] 35 | CargoCrossTarget::Path(path) => match path.exists() { [INFO] [stderr] | _____________________________________________^ [INFO] [stderr] 36 | | true => Ok(CargoBuildOutput { [INFO] [stderr] 37 | | path: path.into_owned(), [INFO] [stderr] 38 | | target: Target::Cross(target), [INFO] [stderr] ... | [INFO] [stderr] 42 | | }), [INFO] [stderr] 43 | | }, [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 35 | CargoCrossTarget::Path(path) => if path.exists() { Ok(CargoBuildOutput { [INFO] [stderr] 36 | path: path.into_owned(), [INFO] [stderr] 37 | target: Target::Cross(target), [INFO] [stderr] 38 | }) } else { Err(CargoBuildError::MissingOutput { [INFO] [stderr] 39 | path: path.into_owned(), [INFO] [stderr] 40 | }) }, [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/cargo/build/mod.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | fn path(&self) -> &'static str { [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cargo/build/mod.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | fn extension(&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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cargo/build/mod.rs:36:15 [INFO] [stderr] | [INFO] [stderr] 36 | fn prefix(&self) -> Option<&'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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:69:22 [INFO] [stderr] | [INFO] [stderr] 69 | let action = match args.is_present(TEST_ARG) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 70 | | true => Action::Test, [INFO] [stderr] 71 | | _ => Action::Build, [INFO] [stderr] 72 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(TEST_ARG) { Action::Test } else { Action::Build }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | let profile = match args.is_present(RELEASE_ARG) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 75 | | true => Profile::Release, [INFO] [stderr] 76 | | _ => Profile::Debug, [INFO] [stderr] 77 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(RELEASE_ARG) { Profile::Release } else { Profile::Debug }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | let action = match args.is_present(TEST_ARG) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 100 | | true => Action::Test, [INFO] [stderr] 101 | | _ => Action::Build, [INFO] [stderr] 102 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(TEST_ARG) { Action::Test } else { Action::Build }` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/build/mod.rs:104:23 [INFO] [stderr] | [INFO] [stderr] 104 | let profile = match args.is_present(RELEASE_ARG) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 105 | | true => Profile::Release, [INFO] [stderr] 106 | | _ => Profile::Debug, [INFO] [stderr] 107 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if args.is_present(RELEASE_ARG) { Profile::Release } else { Profile::Debug }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/parse.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn parse_toml<'a>(args: CargoParseArgs<'a>) -> Result { [INFO] [stderr] 39 | | let buf = get_buf(args.buf)?; [INFO] [stderr] 40 | | [INFO] [stderr] 41 | | let utf8 = str::from_utf8(&buf)?; [INFO] [stderr] ... | [INFO] [stderr] 56 | | Ok(config) [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/parse.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | / fn get_buf<'a>(buf: CargoBufKind<'a>) -> Result, CargoParseError> { [INFO] [stderr] 81 | | match buf { [INFO] [stderr] 82 | | // Read the file to an owned buffer [INFO] [stderr] 83 | | CargoBufKind::FromFile { path } => { [INFO] [stderr] ... | [INFO] [stderr] 103 | | } [INFO] [stderr] 104 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo/parse.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / match is_dylib { [INFO] [stderr] 116 | | true => Ok(true), [INFO] [stderr] 117 | | _ => Ok(false), [INFO] [stderr] 118 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_dylib { Ok(true) } else { Ok(false) }` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/cargo/parse.rs:237:51 [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: $input.as_bytes().into() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | / assert_inavlid!( [INFO] [stderr] 252 | | r#" [INFO] [stderr] 253 | | [package] [INFO] [stderr] 254 | | name = "native" [INFO] [stderr] ... | [INFO] [stderr] 260 | | CargoParseError::Key(CargoKeyError::Missing { key: "version" }) [INFO] [stderr] 261 | | ); [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: br#" [INFO] [stderr] 238 | [package] [INFO] [stderr] 239 | name = "native" [INFO] [stderr] 240 | authors = ["Somebody", "Somebody Else"] [INFO] [stderr] 241 | [INFO] [stderr] 242 | [lib] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/cargo/parse.rs:237:51 [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: $input.as_bytes().into() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 266 | / assert_inavlid!( [INFO] [stderr] 267 | | r#" [INFO] [stderr] 268 | | [package] [INFO] [stderr] 269 | | version = "0.1.0" [INFO] [stderr] ... | [INFO] [stderr] 275 | | CargoParseError::Key(CargoKeyError::Missing { key: "name" }) [INFO] [stderr] 276 | | ); [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: br#" [INFO] [stderr] 238 | [package] [INFO] [stderr] 239 | version = "0.1.0" [INFO] [stderr] 240 | authors = ["Somebody", "Somebody Else"] [INFO] [stderr] 241 | [INFO] [stderr] 242 | [lib] [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/cargo/parse.rs:237:51 [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: $input.as_bytes().into() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 281 | / assert_inavlid!( [INFO] [stderr] 282 | | r#" [INFO] [stderr] 283 | | [package] [INFO] [stderr] 284 | | name = "native" [INFO] [stderr] ... | [INFO] [stderr] 291 | | CargoParseError::NotADyLib [INFO] [stderr] 292 | | ); [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: br#" [INFO] [stderr] 238 | [package] [INFO] [stderr] 239 | name = "native" [INFO] [stderr] 240 | version = "0.1.0" [INFO] [stderr] 241 | authors = ["Somebody", "Somebody Else"] [INFO] [stderr] 242 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/cargo/parse.rs:237:51 [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: $input.as_bytes().into() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 297 | / assert_inavlid!( [INFO] [stderr] 298 | | r#" [INFO] [stderr] 299 | | [package] [INFO] [stderr] 300 | | name = "native" [INFO] [stderr] ... | [INFO] [stderr] 304 | | CargoParseError::NotADyLib [INFO] [stderr] 305 | | ); [INFO] [stderr] | |__________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] help: consider using a byte string literal instead [INFO] [stderr] | [INFO] [stderr] 237 | buf: CargoBufKind::FromBuf { buf: br#" [INFO] [stderr] 238 | [package] [INFO] [stderr] 239 | name = "native" [INFO] [stderr] 240 | version = "0.1.0" [INFO] [stderr] 241 | authors = ["Somebody", "Somebody Else"] [INFO] [stderr] 242 | "#.into() } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/cargo/version.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn local_version_tag<'a>( [INFO] [stderr] 17 | | ver: CargoLocalVersionArgs<'a>, [INFO] [stderr] 18 | | ) -> Result { [INFO] [stderr] 19 | | let mut ver = Version::parse(ver.version)?; [INFO] [stderr] ... | [INFO] [stderr] 32 | | }) [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cargo/version.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | if ver.pre.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ver.pre.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/spec.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / pub fn spec<'a>(args: NugetSpecArgs<'a>) -> Result, NugetSpecError> { [INFO] [stderr] 62 | | let mut writer = xml::writer()?; [INFO] [stderr] 63 | | [INFO] [stderr] 64 | | let pkg_attr = xml::attr( [INFO] [stderr] ... | [INFO] [stderr] 80 | | }) [INFO] [stderr] 81 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/pack.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn pack<'a>(args: NugetPackArgs<'a>) -> Result { [INFO] [stderr] 37 | | let pkgs: Vec<_> = args.cargo_libs [INFO] [stderr] 38 | | .iter() [INFO] [stderr] 39 | | .filter_map(|(target, path)| { [INFO] [stderr] ... | [INFO] [stderr] 87 | | }) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/nuget/pack.rs:48:8 [INFO] [stderr] | [INFO] [stderr] 48 | if pkgs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pkgs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/nuget/save.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn save_nupkg<'a>(args: NugetSaveArgs<'a>) -> Result, NugetSaveError> { [INFO] [stderr] 23 | | let mut f = OpenOptions::new() [INFO] [stderr] 24 | | .write(true) [INFO] [stderr] 25 | | .truncate(true) [INFO] [stderr] ... | [INFO] [stderr] 33 | | Ok(NupkgPath { path: args.path }) [INFO] [stderr] 34 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:144:18 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn cross(&self) -> Option { [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/args.rs:152:23 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn is_unknown(&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/args.rs:156:16 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn rid(&self) -> Cow<'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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:183:16 [INFO] [stderr] | [INFO] [stderr] 183 | pub fn rid(&self) -> Cow<'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: single-character string constant used as pattern [INFO] [stderr] --> src/args.rs:192:35 [INFO] [stderr] | [INFO] [stderr] 192 | let mut parts = rid.split("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/args.rs:220:16 [INFO] [stderr] | [INFO] [stderr] 220 | pub fn rid(&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: redundant closure found [INFO] [stderr] --> src/args.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | local_arch().map(|arch| CrossTarget::Linux(arch)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `CrossTarget::Linux` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | / match cmd { [INFO] [stderr] 52 | | Err(e) => result.err = Some(e), [INFO] [stderr] 53 | | _ => (), [INFO] [stderr] 54 | | } [INFO] [stderr] | |_________^ help: try this: `if let Err(e) = cmd { result.err = Some(e) }` [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] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.17s [INFO] running `"docker" "inspect" "343b7e7234156a19e7e6dccd6b0148d1d7cd848470e71601f4f90b691df07bf0"` [INFO] running `"docker" "rm" "-f" "343b7e7234156a19e7e6dccd6b0148d1d7cd848470e71601f4f90b691df07bf0"` [INFO] [stdout] 343b7e7234156a19e7e6dccd6b0148d1d7cd848470e71601f4f90b691df07bf0