[INFO] updating cached repository rask/wppr [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/rask/wppr [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/rask/wppr" "work/ex/clippy-test-run/sources/stable/gh/rask/wppr"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/rask/wppr'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/rask/wppr" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rask/wppr"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rask/wppr'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b4fa94247a0271c1a65df8da0991c674b31b137f [INFO] sha for GitHub repo rask/wppr: b4fa94247a0271c1a65df8da0991c674b31b137f [INFO] validating manifest of rask/wppr 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 rask/wppr 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 rask/wppr [INFO] finished frobbing rask/wppr [INFO] frobbed toml for rask/wppr written to work/ex/clippy-test-run/sources/stable/gh/rask/wppr/Cargo.toml [INFO] started frobbing rask/wppr [INFO] finished frobbing rask/wppr [INFO] frobbed toml for rask/wppr written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/rask/wppr/Cargo.toml [INFO] crate rask/wppr 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 rask/wppr 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/rask/wppr:/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] cb2fa98c6136cf9c8598ec440598f7a70efb9892a6478b90e0d85e38787d66ef [INFO] running `"docker" "start" "-a" "cb2fa98c6136cf9c8598ec440598f7a70efb9892a6478b90e0d85e38787d66ef"` [INFO] [stderr] Checking encode_unicode v0.3.3 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Compiling serde_json v1.0.32 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling syn v0.15.12 [INFO] [stderr] Checking term v0.2.14 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Checking csv v0.15.0 [INFO] [stderr] Checking text-diff v0.4.0 [INFO] [stderr] Checking prettytable-rs v0.6.7 [INFO] [stderr] Compiling serde_derive v1.0.80 [INFO] [stderr] Compiling cargo_metadata v0.5.8 [INFO] [stderr] Checking wppr v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/git.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | bin: bin, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bin` [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/wordpress.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | bin: bin, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bin` [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: unneeded return statement [INFO] [stderr] --> src/commands.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return Err("Could not create backups directory, do you have proper permissions?"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Could not create backups directory, do you have proper permissions?")` [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/git.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | return cmd; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cmd` [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/git.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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/git.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return Ok(output.status.success()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(output.status.success())` [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/pipeline.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | return Err(s); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(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: unneeded return statement [INFO] [stderr] --> src/pipeline.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/pipeline.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/pipeline.rs:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | return Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false)` [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/wordpress.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | return Ok(dir.to_os_string().into_string().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(dir.to_os_string().into_string().unwrap())` [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/wordpress.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | / return Err(format!( [INFO] [stderr] 128 | | "Cannot fetch git directory for plugin `{}`, not a directory", [INFO] [stderr] 129 | | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 130 | | )); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 127 | Err(format!( [INFO] [stderr] 128 | "Cannot fetch git directory for plugin `{}`, not a directory", [INFO] [stderr] 129 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 130 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/wordpress.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | return gitdir; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `gitdir` [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/wordpress.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return Err(format!( [INFO] [stderr] 151 | | "Cannot fetch composer.json for plugin `{}`, does not exist", [INFO] [stderr] 152 | | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 153 | | )); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | Err(format!( [INFO] [stderr] 151 | "Cannot fetch composer.json for plugin `{}`, does not exist", [INFO] [stderr] 152 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 153 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/wordpress.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | return cjson; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `cjson` [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/wordpress.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | return cmd; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cmd` [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: length comparison to one [INFO] [stderr] --> src/commands.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | if plugins_being_managed.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins_being_managed.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: length comparison to one [INFO] [stderr] --> src/commands.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | if plugins.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins.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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/commands.rs:67:24 [INFO] [stderr] | [INFO] [stderr] 67 | let validity = match plugin.is_valid() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 68 | | true => "true", [INFO] [stderr] 69 | | false => "false", [INFO] [stderr] 70 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if plugin.is_valid() { "true" } else { "false" }` [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] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/commands.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | &plugin.nicename.unwrap_or("invalid".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [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/commands.rs:75:39 [INFO] [stderr] | [INFO] [stderr] 75 | &plugin.installed_version.unwrap_or("unknown".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "unknown".to_string())` [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: length comparison to one [INFO] [stderr] --> src/commands.rs:90:8 [INFO] [stderr] | [INFO] [stderr] 90 | if plugins.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins.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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/config.rs:106:32 [INFO] [stderr] | [INFO] [stderr] 106 | let bins: BinariesConfig = config.clone().binaries.unwrap_or(BinariesConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.clone().binaries.unwrap_or_default()` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/config.rs:121:25 [INFO] [stderr] | [INFO] [stderr] 121 | fn validate_binary(bin: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/config.rs:149:23 [INFO] [stderr] | [INFO] [stderr] 149 | binaries: toml_config.binaries.unwrap_or(BinariesConfig::default()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `toml_config.binaries.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:151:22 [INFO] [stderr] | [INFO] [stderr] 151 | plugins: toml_config.plugins.unwrap_or(Vec::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `toml_config.plugins.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | / match output.status.success() { [INFO] [stderr] 88 | | true => { [INFO] [stderr] 89 | | self.set_repo_git_config() [INFO] [stderr] 90 | | }, [INFO] [stderr] ... | [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [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] 87 | if output.status.success() { [INFO] [stderr] 88 | self.set_repo_git_config() [INFO] [stderr] 89 | } else { [INFO] [stderr] 90 | Err(format!("Could not initialize new git repository: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | / match output.status.success() { [INFO] [stderr] 106 | | false => Err(format!("Could not check git repo status: `{}`", String::from_utf8_lossy(&output.stderr))), [INFO] [stderr] 107 | | true => { [INFO] [stderr] 108 | | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stderr] ... | [INFO] [stderr] 116 | | } [INFO] [stderr] 117 | | } [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] 105 | if output.status.success() { [INFO] [stderr] 106 | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stderr] 107 | [INFO] [stderr] 108 | if stdout.contains("nothing to commit, working tree clean") { [INFO] [stderr] 109 | // no changes [INFO] [stderr] 110 | Ok(false) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/git.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if self.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(self.has_uncommited_changes()?)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | / match output.status.success() { [INFO] [stderr] 134 | | true => (), [INFO] [stderr] 135 | | false => { [INFO] [stderr] 136 | | return Err(format!("Could not read repository status: `{}`", String::from_utf8_lossy(&output.stderr))); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | }; [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] 133 | if !output.status.success() { [INFO] [stderr] 134 | return Err(format!("Could not read repository status: `{}`", String::from_utf8_lossy(&output.stderr))); [INFO] [stderr] 135 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / match commit_output.status.success() { [INFO] [stderr] 151 | | true => Ok(true), [INFO] [stderr] 152 | | false => { [INFO] [stderr] 153 | | Err(format!("Could not commit changes: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [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] 150 | if commit_output.status.success() { Ok(true) } else { [INFO] [stderr] 151 | Err(format!("Could not commit changes: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 152 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | / match output.status.success() { [INFO] [stderr] 172 | | true => Ok(true), [INFO] [stderr] 173 | | false => { [INFO] [stderr] 174 | | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stderr] ... | [INFO] [stderr] 181 | | } [INFO] [stderr] 182 | | } [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] 171 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 172 | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stderr] 173 | [INFO] [stderr] 174 | if stderr.contains("already exists") { [INFO] [stderr] 175 | Ok(true) [INFO] [stderr] 176 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | / match output.status.success() { [INFO] [stderr] 199 | | true => Ok(true), [INFO] [stderr] 200 | | false => { [INFO] [stderr] 201 | | Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 205 | | } [INFO] [stderr] 206 | | } [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] 198 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 199 | Err(format!( [INFO] [stderr] 200 | "Could not push to remote repository: `{}`", [INFO] [stderr] 201 | String::from_utf8_lossy(&output.stderr) [INFO] [stderr] 202 | )) [INFO] [stderr] 203 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | / match output.status.success() { [INFO] [stderr] 218 | | true => Ok(true), [INFO] [stderr] 219 | | false => { [INFO] [stderr] 220 | | Err(format!("Could not add git tag: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [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] 217 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 218 | Err(format!("Could not add git tag: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 219 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | / match output.status.success() { [INFO] [stderr] 234 | | true => Ok(true), [INFO] [stderr] 235 | | false => { [INFO] [stderr] 236 | | Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [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] 233 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 234 | Err(format!( [INFO] [stderr] 235 | "Could not reset plugin contents to previous state: `{}`", [INFO] [stderr] 236 | String::from_utf8_lossy(&output.stderr) [INFO] [stderr] 237 | )) [INFO] [stderr] 238 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/pipeline.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / let result: Result; [INFO] [stderr] 117 | | [INFO] [stderr] 118 | | if self.dry_run == false { [INFO] [stderr] 119 | | self.git_cli.add_and_commit_changes()?; [INFO] [stderr] ... | [INFO] [stderr] 124 | | result = Ok(true); [INFO] [stderr] 125 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let result = if self.dry_run == false { ..; self.git_cli.push_to_remote() } else { Ok(true) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 73 | if self.plugin.pre_cmds.is_empty() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.plugin.pre_cmds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/pipeline.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | / match b { [INFO] [stderr] 83 | | true => (), // update was made and succeeded [INFO] [stderr] 84 | | false => { [INFO] [stderr] 85 | | self.progress_log("Plugin already up to date, proceeding"); [INFO] [stderr] 86 | | return Ok(true) [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#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 82 | if !b { [INFO] [stderr] 83 | self.progress_log("Plugin already up to date, proceeding"); [INFO] [stderr] 84 | return Ok(true) [INFO] [stderr] 85 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if self.dry_run == false && self.git_cli.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | if self.dry_run == false && self.git_cli.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(self.git_cli.has_uncommited_changes()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | if self.dry_run == false && current_version == new_version { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 118 | if self.dry_run == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/pipeline.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let git_inited = match self.git_cli.repository_is_initialized()? { [INFO] [stderr] | __________________________^ [INFO] [stderr] 163 | | true => true, [INFO] [stderr] 164 | | false => self.git_cli.initialize_repository()? && self.git_cli.set_repo_git_config()? [INFO] [stderr] 165 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.git_cli.repository_is_initialized()? { true } else { self.git_cli.initialize_repository()? && self.git_cli.set_repo_git_config()? }` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:167:12 [INFO] [stderr] | [INFO] [stderr] 167 | if git_inited == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!git_inited` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:238:20 [INFO] [stderr] | [INFO] [stderr] 238 | if gitexist == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!gitexist` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:263:12 [INFO] [stderr] | [INFO] [stderr] 263 | if self.has_backup == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.has_backup` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:310:19 [INFO] [stderr] | [INFO] [stderr] 310 | return Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.wp_cli.update_plugin(&self.plugin)?.contains("already updated")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/wordpress.rs:57:29 [INFO] [stderr] | [INFO] [stderr] 57 | let valid_version = match self.installed_version { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 58 | | Some(_) => true, [INFO] [stderr] 59 | | None => false, [INFO] [stderr] 60 | | }; [INFO] [stderr] | |_________^ help: try this: `self.installed_version.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/wordpress.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | pre_cmds: plugin_config.pre_cmds.unwrap_or(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `plugin_config.pre_cmds.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/wordpress.rs:129:35 [INFO] [stderr] | [INFO] [stderr] 129 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/wordpress.rs:152:35 [INFO] [stderr] | [INFO] [stderr] 152 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/wordpress.rs:186:8 [INFO] [stderr] | [INFO] [stderr] 186 | if index_path.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!index_path.exists()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/wordpress.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | / match output.status.success() { [INFO] [stderr] 254 | | true => Ok(String::from_utf8_lossy(&output.stdout).to_string()), [INFO] [stderr] 255 | | false => { [INFO] [stderr] 256 | | Err(format!("Could not update plugin `{}`: `{}`", pname, String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 257 | | } [INFO] [stderr] 258 | | } [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] 253 | if output.status.success() { Ok(String::from_utf8_lossy(&output.stdout).to_string()) } else { [INFO] [stderr] 254 | Err(format!("Could not update plugin `{}`: `{}`", pname, String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 255 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/lib.rs:128:8 [INFO] [stderr] | [INFO] [stderr] 128 | if configuration.verbose == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `configuration.verbose` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] Compiling skeptic v0.13.3 [INFO] [stderr] Compiling assert_cli v0.5.4 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/git.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | bin: bin, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bin` [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/wordpress.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | bin: bin, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bin` [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: unneeded `()` [INFO] [stderr] --> tests/testfns_test.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | return (); // FIXME the test is shaky and fails from time to time [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> tests/testfns_test.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | return (); // FIXME the test is shaky and fails from time to time [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded `()` [INFO] [stderr] --> tests/testfns_test.rs:88:12 [INFO] [stderr] | [INFO] [stderr] 88 | return (); // FIXME the test is shaky and fails from time to time [INFO] [stderr] | ^^ help: remove the `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> tests/testfns_test.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / let actualdest: PathBuf = PathBuf::from( [INFO] [stderr] 15 | | env::current_dir().unwrap().to_str().unwrap().to_string() + "/tests/data/testproj" [INFO] [stderr] 16 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> tests/testfns_test.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / let actualdest: PathBuf = PathBuf::from( [INFO] [stderr] 46 | | env::current_dir().unwrap().to_str().unwrap().to_string() + "/tests/data/testproj" [INFO] [stderr] 47 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> tests/testfns_test.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | / let actualdest: PathBuf = PathBuf::from( [INFO] [stderr] 91 | | env::current_dir().unwrap().to_str().unwrap().to_string() + "/tests/data/testproj" [INFO] [stderr] 92 | | ); [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] --> tests/testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> tests/./testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/./testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/commands.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return Err("Could not create backups directory, do you have proper permissions?"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Could not create backups directory, do you have proper permissions?")` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/config.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | testcfg [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/config.rs:164:23 [INFO] [stderr] | [INFO] [stderr] 164 | let testcfg = TomlConfig { [INFO] [stderr] | _______________________^ [INFO] [stderr] 165 | | binaries: Some(BinariesConfig { [INFO] [stderr] 166 | | git: "/bin/true".to_string(), [INFO] [stderr] 167 | | wpcli: "/bin/true".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 184 | | cwd: Some("".to_string()), [INFO] [stderr] 185 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/config.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | testcfg [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/config.rs:191:23 [INFO] [stderr] | [INFO] [stderr] 191 | let testcfg = TomlConfig { [INFO] [stderr] | _______________________^ [INFO] [stderr] 192 | | binaries: Some(BinariesConfig { [INFO] [stderr] 193 | | git: "/bin/true".to_string(), [INFO] [stderr] 194 | | wpcli: "/this/should/not/work".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 211 | | cwd: Some("".to_string()), [INFO] [stderr] 212 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/git.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | return cmd; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cmd` [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/git.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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/git.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return Ok(output.status.success()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(output.status.success())` [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/pipeline.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | return Err(s); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(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: unneeded return statement [INFO] [stderr] --> src/pipeline.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/pipeline.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/pipeline.rs:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | return Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false)` [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/wordpress.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | return Ok(dir.to_os_string().into_string().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(dir.to_os_string().into_string().unwrap())` [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/wordpress.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | / return Err(format!( [INFO] [stderr] 128 | | "Cannot fetch git directory for plugin `{}`, not a directory", [INFO] [stderr] 129 | | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 130 | | )); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 127 | Err(format!( [INFO] [stderr] 128 | "Cannot fetch git directory for plugin `{}`, not a directory", [INFO] [stderr] 129 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 130 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/wordpress.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | return gitdir; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `gitdir` [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/wordpress.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / return Err(format!( [INFO] [stderr] 151 | | "Cannot fetch composer.json for plugin `{}`, does not exist", [INFO] [stderr] 152 | | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 153 | | )); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 150 | Err(format!( [INFO] [stderr] 151 | "Cannot fetch composer.json for plugin `{}`, does not exist", [INFO] [stderr] 152 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] 153 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/wordpress.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | return cjson; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `cjson` [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/wordpress.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | return cmd; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `cmd` [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: function is never used: `setup_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn setup_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `update_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn update_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `discard_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn discard_test_dummy_project() { [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] --> tests/./testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/./testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn setup_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `update_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn update_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `discard_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn discard_test_dummy_project() { [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] --> tests/./testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/./testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn setup_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `update_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn update_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `discard_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn discard_test_dummy_project() { [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] --> tests/./testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/./testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: function is never used: `setup_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn setup_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `update_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn update_test_dummy_project() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `discard_test_dummy_project` [INFO] [stderr] --> tests/./testfns.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn discard_test_dummy_project() { [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] --> tests/./testfns.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / match dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | | Err(e) => { [INFO] [stderr] 40 | | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 41 | | }, [INFO] [stderr] 42 | | _ => () [INFO] [stderr] 43 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Err(e) = dir::copy(proj_src, &proj_dest, &copts) { [INFO] [stderr] 39 | panic!("Could not setup test dummy project: `{:?}`", e); [INFO] [stderr] 40 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> tests/./testfns.rs:79:8 [INFO] [stderr] | [INFO] [stderr] 79 | if proj_dest_testfile.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!proj_dest_testfile.exists()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/commands.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | if plugins_being_managed.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins_being_managed.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: length comparison to one [INFO] [stderr] --> src/commands.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | if plugins.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins.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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/commands.rs:67:24 [INFO] [stderr] | [INFO] [stderr] 67 | let validity = match plugin.is_valid() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 68 | | true => "true", [INFO] [stderr] 69 | | false => "false", [INFO] [stderr] 70 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if plugin.is_valid() { "true" } else { "false" }` [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] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/commands.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | &plugin.nicename.unwrap_or("invalid".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [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/commands.rs:75:39 [INFO] [stderr] | [INFO] [stderr] 75 | &plugin.installed_version.unwrap_or("unknown".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "unknown".to_string())` [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: length comparison to one [INFO] [stderr] --> src/commands.rs:90:8 [INFO] [stderr] | [INFO] [stderr] 90 | if plugins.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `plugins.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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/config.rs:106:32 [INFO] [stderr] | [INFO] [stderr] 106 | let bins: BinariesConfig = config.clone().binaries.unwrap_or(BinariesConfig::default()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `config.clone().binaries.unwrap_or_default()` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/config.rs:121:25 [INFO] [stderr] | [INFO] [stderr] 121 | fn validate_binary(bin: &String) -> bool { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/config.rs:149:23 [INFO] [stderr] | [INFO] [stderr] 149 | binaries: toml_config.binaries.unwrap_or(BinariesConfig::default()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `toml_config.binaries.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/config.rs:151:22 [INFO] [stderr] | [INFO] [stderr] 151 | plugins: toml_config.plugins.unwrap_or(Vec::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `toml_config.plugins.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | / match output.status.success() { [INFO] [stderr] 88 | | true => { [INFO] [stderr] 89 | | self.set_repo_git_config() [INFO] [stderr] 90 | | }, [INFO] [stderr] ... | [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [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] 87 | if output.status.success() { [INFO] [stderr] 88 | self.set_repo_git_config() [INFO] [stderr] 89 | } else { [INFO] [stderr] 90 | Err(format!("Could not initialize new git repository: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | / match output.status.success() { [INFO] [stderr] 106 | | false => Err(format!("Could not check git repo status: `{}`", String::from_utf8_lossy(&output.stderr))), [INFO] [stderr] 107 | | true => { [INFO] [stderr] 108 | | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stderr] ... | [INFO] [stderr] 116 | | } [INFO] [stderr] 117 | | } [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] 105 | if output.status.success() { [INFO] [stderr] 106 | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stderr] 107 | [INFO] [stderr] 108 | if stdout.contains("nothing to commit, working tree clean") { [INFO] [stderr] 109 | // no changes [INFO] [stderr] 110 | Ok(false) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/git.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if self.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(self.has_uncommited_changes()?)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | / match output.status.success() { [INFO] [stderr] 134 | | true => (), [INFO] [stderr] 135 | | false => { [INFO] [stderr] 136 | | return Err(format!("Could not read repository status: `{}`", String::from_utf8_lossy(&output.stderr))); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | }; [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] 133 | if !output.status.success() { [INFO] [stderr] 134 | return Err(format!("Could not read repository status: `{}`", String::from_utf8_lossy(&output.stderr))); [INFO] [stderr] 135 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | / match commit_output.status.success() { [INFO] [stderr] 151 | | true => Ok(true), [INFO] [stderr] 152 | | false => { [INFO] [stderr] 153 | | Err(format!("Could not commit changes: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [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] 150 | if commit_output.status.success() { Ok(true) } else { [INFO] [stderr] 151 | Err(format!("Could not commit changes: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 152 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | / match output.status.success() { [INFO] [stderr] 172 | | true => Ok(true), [INFO] [stderr] 173 | | false => { [INFO] [stderr] 174 | | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stderr] ... | [INFO] [stderr] 181 | | } [INFO] [stderr] 182 | | } [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] 171 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 172 | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stderr] 173 | [INFO] [stderr] 174 | if stderr.contains("already exists") { [INFO] [stderr] 175 | Ok(true) [INFO] [stderr] 176 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | / match output.status.success() { [INFO] [stderr] 199 | | true => Ok(true), [INFO] [stderr] 200 | | false => { [INFO] [stderr] 201 | | Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 205 | | } [INFO] [stderr] 206 | | } [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] 198 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 199 | Err(format!( [INFO] [stderr] 200 | "Could not push to remote repository: `{}`", [INFO] [stderr] 201 | String::from_utf8_lossy(&output.stderr) [INFO] [stderr] 202 | )) [INFO] [stderr] 203 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | / match output.status.success() { [INFO] [stderr] 218 | | true => Ok(true), [INFO] [stderr] 219 | | false => { [INFO] [stderr] 220 | | Err(format!("Could not add git tag: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [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] 217 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 218 | Err(format!("Could not add git tag: `{}`", String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 219 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/git.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | / match output.status.success() { [INFO] [stderr] 234 | | true => Ok(true), [INFO] [stderr] 235 | | false => { [INFO] [stderr] 236 | | Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 240 | | } [INFO] [stderr] 241 | | } [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] 233 | if output.status.success() { Ok(true) } else { [INFO] [stderr] 234 | Err(format!( [INFO] [stderr] 235 | "Could not reset plugin contents to previous state: `{}`", [INFO] [stderr] 236 | String::from_utf8_lossy(&output.stderr) [INFO] [stderr] 237 | )) [INFO] [stderr] 238 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/pipeline.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / let result: Result; [INFO] [stderr] 117 | | [INFO] [stderr] 118 | | if self.dry_run == false { [INFO] [stderr] 119 | | self.git_cli.add_and_commit_changes()?; [INFO] [stderr] ... | [INFO] [stderr] 124 | | result = Ok(true); [INFO] [stderr] 125 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let result = if self.dry_run == false { ..; self.git_cli.push_to_remote() } else { Ok(true) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 73 | if self.plugin.pre_cmds.is_empty() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.plugin.pre_cmds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/pipeline.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | / match b { [INFO] [stderr] 83 | | true => (), // update was made and succeeded [INFO] [stderr] 84 | | false => { [INFO] [stderr] 85 | | self.progress_log("Plugin already up to date, proceeding"); [INFO] [stderr] 86 | | return Ok(true) [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#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 82 | if !b { [INFO] [stderr] 83 | self.progress_log("Plugin already up to date, proceeding"); [INFO] [stderr] 84 | return Ok(true) [INFO] [stderr] 85 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if self.dry_run == false && self.git_cli.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:100:37 [INFO] [stderr] | [INFO] [stderr] 100 | if self.dry_run == false && self.git_cli.has_uncommited_changes()? == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!(self.git_cli.has_uncommited_changes()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | if self.dry_run == false && current_version == new_version { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 118 | if self.dry_run == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.dry_run` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/pipeline.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let git_inited = match self.git_cli.repository_is_initialized()? { [INFO] [stderr] | __________________________^ [INFO] [stderr] 163 | | true => true, [INFO] [stderr] 164 | | false => self.git_cli.initialize_repository()? && self.git_cli.set_repo_git_config()? [INFO] [stderr] 165 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.git_cli.repository_is_initialized()? { true } else { self.git_cli.initialize_repository()? && self.git_cli.set_repo_git_config()? }` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:167:12 [INFO] [stderr] | [INFO] [stderr] 167 | if git_inited == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!git_inited` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:238:20 [INFO] [stderr] | [INFO] [stderr] 238 | if gitexist == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!gitexist` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:263:12 [INFO] [stderr] | [INFO] [stderr] 263 | if self.has_backup == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.has_backup` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/pipeline.rs:310:19 [INFO] [stderr] | [INFO] [stderr] 310 | return Ok(self.wp_cli.update_plugin(&self.plugin)?.contains("already updated") == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.wp_cli.update_plugin(&self.plugin)?.contains("already updated")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/wordpress.rs:57:29 [INFO] [stderr] | [INFO] [stderr] 57 | let valid_version = match self.installed_version { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 58 | | Some(_) => true, [INFO] [stderr] 59 | | None => false, [INFO] [stderr] 60 | | }; [INFO] [stderr] | |_________^ help: try this: `self.installed_version.is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/wordpress.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | pre_cmds: plugin_config.pre_cmds.unwrap_or(Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `plugin_config.pre_cmds.unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/wordpress.rs:129:35 [INFO] [stderr] | [INFO] [stderr] 129 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/wordpress.rs:152:35 [INFO] [stderr] | [INFO] [stderr] 152 | self.nicename.clone().unwrap_or("invalid".to_string()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "invalid".to_string())` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/wordpress.rs:186:8 [INFO] [stderr] | [INFO] [stderr] 186 | if index_path.exists() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!index_path.exists()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/wordpress.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | / match output.status.success() { [INFO] [stderr] 254 | | true => Ok(String::from_utf8_lossy(&output.stdout).to_string()), [INFO] [stderr] 255 | | false => { [INFO] [stderr] 256 | | Err(format!("Could not update plugin `{}`: `{}`", pname, String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 257 | | } [INFO] [stderr] 258 | | } [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] 253 | if output.status.success() { Ok(String::from_utf8_lossy(&output.stdout).to_string()) } else { [INFO] [stderr] 254 | Err(format!("Could not update plugin `{}`: `{}`", pname, String::from_utf8_lossy(&output.stderr))) [INFO] [stderr] 255 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/lib.rs:128:8 [INFO] [stderr] | [INFO] [stderr] 128 | if configuration.verbose == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `configuration.verbose` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 39.36s [INFO] running `"docker" "inspect" "cb2fa98c6136cf9c8598ec440598f7a70efb9892a6478b90e0d85e38787d66ef"` [INFO] running `"docker" "rm" "-f" "cb2fa98c6136cf9c8598ec440598f7a70efb9892a6478b90e0d85e38787d66ef"` [INFO] [stdout] cb2fa98c6136cf9c8598ec440598f7a70efb9892a6478b90e0d85e38787d66ef