[INFO] updating cached repository trevershick/djs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/trevershick/djs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/trevershick/djs" "work/ex/clippy-test-run/sources/stable/gh/trevershick/djs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/trevershick/djs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/trevershick/djs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/trevershick/djs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/trevershick/djs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 400b7f3888caa134f343b549f64943c7c92156c8 [INFO] sha for GitHub repo trevershick/djs: 400b7f3888caa134f343b549f64943c7c92156c8 [INFO] validating manifest of trevershick/djs 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 trevershick/djs 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 trevershick/djs [INFO] finished frobbing trevershick/djs [INFO] frobbed toml for trevershick/djs written to work/ex/clippy-test-run/sources/stable/gh/trevershick/djs/Cargo.toml [INFO] started frobbing trevershick/djs [INFO] finished frobbing trevershick/djs [INFO] frobbed toml for trevershick/djs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/trevershick/djs/Cargo.toml [INFO] crate trevershick/djs has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting trevershick/djs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/trevershick/djs:/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] 94992411ebd9c994ff7e613beeffc1adc3cc5209934b8178e2800140c9ca43e5 [INFO] running `"docker" "start" "-a" "94992411ebd9c994ff7e613beeffc1adc3cc5209934b8178e2800140c9ca43e5"` [INFO] [stderr] Checking lazy_static v1.0.2 [INFO] [stderr] Compiling pkg-config v0.3.12 [INFO] [stderr] Compiling cc v1.0.18 [INFO] [stderr] Checking matches v0.1.7 [INFO] [stderr] Compiling serde v1.0.70 [INFO] [stderr] Compiling regex v1.0.2 [INFO] [stderr] Checking options v0.5.1 [INFO] [stderr] Checking toml v0.1.30 [INFO] [stderr] Checking strfmt v0.1.6 [INFO] [stderr] Checking encoding_rs v0.7.2 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking tokio-executor v0.1.2 [INFO] [stderr] Compiling proc-macro2 v0.4.8 [INFO] [stderr] Checking clicolors-control v0.2.0 [INFO] [stderr] Checking xml-rs v0.3.6 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking want v0.0.4 [INFO] [stderr] Checking mio v0.6.15 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking aho-corasick v0.6.6 [INFO] [stderr] Checking configuration v0.7.2 [INFO] [stderr] Checking crossbeam-epoch v0.4.3 [INFO] [stderr] Checking smallvec v0.6.3 [INFO] [stderr] Checking thread_local v0.3.5 [INFO] [stderr] Checking lock_api v0.1.3 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking tokio-io v0.1.7 [INFO] [stderr] Compiling openssl-sys v0.9.33 [INFO] [stderr] Checking tokio-timer v0.2.4 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Compiling quote v0.6.3 [INFO] [stderr] Checking regex v0.2.11 [INFO] [stderr] Checking crossbeam-deque v0.3.1 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking mime v0.3.8 [INFO] [stderr] Checking libflate v0.1.16 [INFO] [stderr] Checking tokio-reactor v0.1.2 [INFO] [stderr] Checking tokio-codec v0.1.0 [INFO] [stderr] Checking url v1.7.1 [INFO] [stderr] Compiling syn v0.14.4 [INFO] [stderr] Checking tokio-threadpool v0.1.5 [INFO] [stderr] Checking parking_lot v0.6.3 [INFO] [stderr] Checking tokio-udp v0.1.1 [INFO] [stderr] Checking tokio-tcp v0.1.0 [INFO] [stderr] Compiling openssl v0.9.24 [INFO] [stderr] Checking env_logger v0.5.10 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Checking tokio-fs v0.1.2 [INFO] [stderr] Checking console v0.6.1 [INFO] [stderr] Checking tokio v0.1.7 [INFO] [stderr] Checking indicatif v0.9.0 [INFO] [stderr] Checking tokio-core v0.1.17 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.70 [INFO] [stderr] Checking native-tls v0.1.5 [INFO] [stderr] Checking tokio-tls v0.1.4 [INFO] [stderr] Checking hyper v0.11.27 [INFO] [stderr] Checking serde_json v1.0.24 [INFO] [stderr] Checking serde_urlencoded v0.5.2 [INFO] [stderr] Checking serde-xml-rs v0.2.1 [INFO] [stderr] Checking hyper-tls v0.1.3 [INFO] [stderr] Checking reqwest v0.8.6 [INFO] [stderr] Checking djs v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/djs/config.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/djs/config.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/djs/jenkins/mod.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [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/djs/consolemed/mod.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [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: literal with an empty format string [INFO] [stderr] --> src/djs/error.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | write!(f, "{} {}", "Invalid Format", style(fmt).red()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/djs/config.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/djs/config.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/djs/jenkins/mod.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [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/djs/consolemed/mod.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `config` [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: literal with an empty format string [INFO] [stderr] --> src/djs/error.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | write!(f, "{} {}", "Invalid Format", style(fmt).red()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/cli.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | return app; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `app` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return s[idx..s.len()].to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s[idx..s.len()].to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return s[..idx].to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s[..idx].to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | return remove_leading_slashes(remove_trailing_slashes(s)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `remove_leading_slashes(remove_trailing_slashes(s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DEFAULT_URL: &'static str = "http://localhost:8080"; [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/djs/defaults.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | pub const DEFAULT_BASE: &'static str = "job/MyCorp"; [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/djs/defaults.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | pub const DEFAULT_PROJECT: &'static str = "MyProject"; [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/djs/defaults.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub const DEFAULT_BRANCH: &'static str = "master"; [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/djs/defaults.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | pub const DEFAULT_BUILD: &'static str = "lastSuccessfulBuild"; [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/djs/defaults.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | pub const DEFAULT_SOLUTION: &'static str = "d.xml"; [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/djs/defaults.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | pub const DEFAULT_DESTINATION: &'static str = "."; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:10:37 [INFO] [stderr] | [INFO] [stderr] 10 | pub const DEFAULT_SOLUTION_FILTER: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:12:42 [INFO] [stderr] | [INFO] [stderr] 12 | pub const DEFAULT_DESTINATION_TEMPLATE: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::env::home_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:51:32 [INFO] [stderr] | [INFO] [stderr] 51 | if let Some(mut home_pb) = home_dir() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/cli.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | return app; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `app` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | return s[idx..s.len()].to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s[idx..s.len()].to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | return s[..idx].to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `s[..idx].to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/djs/jenkins/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | return remove_leading_slashes(remove_trailing_slashes(s)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `remove_leading_slashes(remove_trailing_slashes(s))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DEFAULT_URL: &'static str = "http://localhost:8080"; [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/djs/defaults.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | pub const DEFAULT_BASE: &'static str = "job/MyCorp"; [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/djs/defaults.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | pub const DEFAULT_PROJECT: &'static str = "MyProject"; [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/djs/defaults.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub const DEFAULT_BRANCH: &'static str = "master"; [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/djs/defaults.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | pub const DEFAULT_BUILD: &'static str = "lastSuccessfulBuild"; [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/djs/defaults.rs:8:30 [INFO] [stderr] | [INFO] [stderr] 8 | pub const DEFAULT_SOLUTION: &'static str = "d.xml"; [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/djs/defaults.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | pub const DEFAULT_DESTINATION: &'static str = "."; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:10:37 [INFO] [stderr] | [INFO] [stderr] 10 | pub const DEFAULT_SOLUTION_FILTER: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/djs/defaults.rs:12:42 [INFO] [stderr] | [INFO] [stderr] 12 | pub const DEFAULT_DESTINATION_TEMPLATE: &'static str = ""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::env::home_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:51:32 [INFO] [stderr] | [INFO] [stderr] 51 | if let Some(mut home_pb) = home_dir() { [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/djs/cli.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / match opts.value_of("timeout").unwrap().parse::() { [INFO] [stderr] 33 | | Ok(v) => c.timeout_in_seconds.set(v, String::from("cli")), [INFO] [stderr] 34 | | Err(_) => (), [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ help: try this: `if let Ok(v) = opts.value_of("timeout").unwrap().parse::() { c.timeout_in_seconds.set(v, String::from("cli")) }` [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] error: useless lint attribute [INFO] [stderr] --> src/djs/config.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused_imports)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_imports)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/djs/config.rs:190:58 [INFO] [stderr] | [INFO] [stderr] 190 | let solution_basename = self.solution_basename().unwrap_or(s!("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s!(""))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/djs/config.rs:191:60 [INFO] [stderr] | [INFO] [stderr] 191 | let solution_extension = self.solution_extension().unwrap_or(s!("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s!(""))` [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 `or` followed by a function call [INFO] [stderr] --> src/djs/jenkins/xml.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | string_from_vec(&self.number).or(string_from_vec(&self.relative_path)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| string_from_vec(&self.relative_path))` [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/djs/jenkins/xml.rs:29:18 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn cdata_i32<'de, R: Read>(r: R) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/djs/jenkins/xml.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn cdata_string<'de, R: Read>(r: R) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/djs/jenkins/mod.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | .map_err(|e| From::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `From::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/djs/jenkins/mod.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | if &s[idx..idx + 1] != "/" { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `idx..=idx` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/djs/jenkins/mod.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | idx = idx + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `idx += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/djs/jenkins/mod.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | idx = idx - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/djs/jenkins/mod.rs:176:12 [INFO] [stderr] | [INFO] [stderr] 176 | if get_c!(self, solution_filter).len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!$configured.config.borrow().$opt.get().clone().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: useless use of `format!` [INFO] [stderr] --> src/djs/jenkins/mod.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | format!("build"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"build".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/djs/jenkins/mod.rs:266:17 [INFO] [stderr] | [INFO] [stderr] 266 | format!("It should be an integer value."), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"It should be an integer value.".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: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | let bar = ProgressBar::new(v); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let bar = ProgressBar::new_spinner(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | let bar = match tot { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/djs/download.rs:47:27 [INFO] [stderr] | [INFO] [stderr] 47 | style(format!("{}", mediator.human_bytes(len))).red() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `mediator.human_bytes(len).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] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/djs/git.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | / if guess_branch().is_none() { [INFO] [stderr] 7 | | return None; [INFO] [stderr] 8 | | } [INFO] [stderr] | |_____^ help: replace_it_with: `guess_branch()?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/djs/git.rs:26:19 [INFO] [stderr] | [INFO] [stderr] 26 | match s.split("/").last().clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.split("/").last()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/djs/git.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | match s.split("/").last().clone() { [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 `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/main.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | writeln!(stderr(), "Error: {}", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:139:28 [INFO] [stderr] | [INFO] [stderr] 139 | mediator.print(format!("Dry Run, not downloading the file.")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Dry Run, not downloading the file.".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 `djs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/djs/cli.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / match opts.value_of("timeout").unwrap().parse::() { [INFO] [stderr] 33 | | Ok(v) => c.timeout_in_seconds.set(v, String::from("cli")), [INFO] [stderr] 34 | | Err(_) => (), [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ help: try this: `if let Ok(v) = opts.value_of("timeout").unwrap().parse::() { c.timeout_in_seconds.set(v, String::from("cli")) }` [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] error: useless lint attribute [INFO] [stderr] --> src/djs/config.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused_imports)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_imports)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/djs/config.rs:190:58 [INFO] [stderr] | [INFO] [stderr] 190 | let solution_basename = self.solution_basename().unwrap_or(s!("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s!(""))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/djs/config.rs:191:60 [INFO] [stderr] | [INFO] [stderr] 191 | let solution_extension = self.solution_extension().unwrap_or(s!("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s!(""))` [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 `or` followed by a function call [INFO] [stderr] --> src/djs/jenkins/xml.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | string_from_vec(&self.number).or(string_from_vec(&self.relative_path)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| string_from_vec(&self.relative_path))` [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/djs/jenkins/xml.rs:29:18 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn cdata_i32<'de, R: Read>(r: R) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/djs/jenkins/xml.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn cdata_string<'de, R: Read>(r: R) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/djs/jenkins/mod.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | .map_err(|e| From::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove closure as shown: `From::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/djs/jenkins/mod.rs:65:15 [INFO] [stderr] | [INFO] [stderr] 65 | if &s[idx..idx + 1] != "/" { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `idx..=idx` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/djs/jenkins/mod.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | idx = idx + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `idx += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/djs/jenkins/mod.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | idx = idx - 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `idx -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/djs/jenkins/mod.rs:176:12 [INFO] [stderr] | [INFO] [stderr] 176 | if get_c!(self, solution_filter).len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!$configured.config.borrow().$opt.get().clone().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: useless use of `format!` [INFO] [stderr] --> src/djs/jenkins/mod.rs:264:17 [INFO] [stderr] | [INFO] [stderr] 264 | format!("build"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"build".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/djs/jenkins/mod.rs:266:17 [INFO] [stderr] | [INFO] [stderr] 266 | format!("It should be an integer value."), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"It should be an integer value.".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: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | let bar = ProgressBar::new(v); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let bar = ProgressBar::new_spinner(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/djs/consolemed/mod.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | let bar = match tot { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/djs/download.rs:47:27 [INFO] [stderr] | [INFO] [stderr] 47 | style(format!("{}", mediator.human_bytes(len))).red() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `mediator.human_bytes(len).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] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/djs/git.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | / if guess_branch().is_none() { [INFO] [stderr] 7 | | return None; [INFO] [stderr] 8 | | } [INFO] [stderr] | |_____^ help: replace_it_with: `guess_branch()?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/djs/git.rs:26:19 [INFO] [stderr] | [INFO] [stderr] 26 | match s.split("/").last().clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `s.split("/").last()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/djs/git.rs:26:27 [INFO] [stderr] | [INFO] [stderr] 26 | match s.split("/").last().clone() { [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 `writeln!(stderr(), ...).unwrap()`. Consider using `eprintln!` instead [INFO] [stderr] --> src/main.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | writeln!(stderr(), "Error: {}", err).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_write)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_write [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/main.rs:139:28 [INFO] [stderr] | [INFO] [stderr] 139 | mediator.print(format!("Dry Run, not downloading the file.")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Dry Run, not downloading the file.".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 `djs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "94992411ebd9c994ff7e613beeffc1adc3cc5209934b8178e2800140c9ca43e5"` [INFO] running `"docker" "rm" "-f" "94992411ebd9c994ff7e613beeffc1adc3cc5209934b8178e2800140c9ca43e5"` [INFO] [stdout] 94992411ebd9c994ff7e613beeffc1adc3cc5209934b8178e2800140c9ca43e5