[INFO] cloning repository https://github.com/jmervine/noop-client [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jmervine/noop-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmervine%2Fnoop-client", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmervine%2Fnoop-client'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6bb28f96ab4755f7cf743b28d7c86fb1851c3f7e [INFO] linting jmervine/noop-client against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjmervine%2Fnoop-client" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jmervine/noop-client [INFO] finished tweaking git repo https://github.com/jmervine/noop-client [INFO] tweaked toml for git repo https://github.com/jmervine/noop-client written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jmervine/noop-client on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jmervine/noop-client already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded flate2 v1.0.29 [INFO] [stderr] Downloaded ureq v2.9.7 [INFO] [stderr] Downloaded rustls-pki-types v1.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3e4ccdf680e8ac924038b90ef101f94523da87af0114beeb7e27f7bcefddb6b [INFO] running `Command { std: "docker" "start" "-a" "e3e4ccdf680e8ac924038b90ef101f94523da87af0114beeb7e27f7bcefddb6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3e4ccdf680e8ac924038b90ef101f94523da87af0114beeb7e27f7bcefddb6b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3e4ccdf680e8ac924038b90ef101f94523da87af0114beeb7e27f7bcefddb6b", kill_on_drop: false }` [INFO] [stdout] e3e4ccdf680e8ac924038b90ef101f94523da87af0114beeb7e27f7bcefddb6b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 14f17f2755ce54fbc2e34f0e7cb2a45c6e1b45d58443045e708cb6c8cda4f728 [INFO] running `Command { std: "docker" "start" "-a" "14f17f2755ce54fbc2e34f0e7cb2a45c6e1b45d58443045e708cb6c8cda4f728", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.95 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking rustls-pki-types v1.5.0 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Compiling serde v1.0.201 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking clap_lex v0.7.0 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking zeroize v1.7.0 [INFO] [stderr] Checking webpki-roots v0.26.1 [INFO] [stderr] Checking base64 v0.22.0 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking flate2 v1.0.29 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.102 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking url v2.5.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Compiling serde_derive v1.0.201 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking rustls-webpki v0.102.3 [INFO] [stderr] Checking ureq v2.9.7 [INFO] [stderr] Checking noop-client v1.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/client.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | use ureq; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/client.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | headers: headers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/state.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use csv; [INFO] [stdout] | ^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/client.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | use ureq; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/client.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | headers: headers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `headers` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/state.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use csv; [INFO] [stdout] | ^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / return Ok(Client { [INFO] [stdout] 27 | | method: config.method, [INFO] [stdout] 28 | | endpoint: config.endpoint, [INFO] [stdout] 29 | | headers: headers, [INFO] [stdout] 30 | | debug: config.debug, [INFO] [stdout] 31 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 ~ Ok(Client { [INFO] [stdout] 27 + method: config.method, [INFO] [stdout] 28 + endpoint: config.endpoint, [INFO] [stdout] 29 + headers: headers, [INFO] [stdout] 30 + debug: config.debug, [INFO] [stdout] 31 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/client.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | if header.0 != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!header.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(response.status()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Ok(response.status()); [INFO] [stdout] 53 + Ok(response.status()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | Err(err) => return Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 55 - Err(err) => return Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] 55 + Err(err) => Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | return Ok((name.to_string(), value.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return Ok((name.to_string(), value.to_string())); [INFO] [stdout] 79 + Ok((name.to_string(), value.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | / return Err(ClientError::HeaderError(format!( [INFO] [stdout] 83 | | "Header values cannot be empty in '{}'", [INFO] [stdout] 84 | | self [INFO] [stdout] 85 | | ))) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Err(ClientError::HeaderError(format!( [INFO] [stdout] 83 + "Header values cannot be empty in '{}'", [INFO] [stdout] 84 + self [INFO] [stdout] 85 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/client.rs:73:20 [INFO] [stdout] | [INFO] [stdout] 73 | if name == "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return current_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return current_char; [INFO] [stdout] 101 + current_char [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i_delim` is only used to index `SPLIT_HEADER_VALUE_CHAR` [INFO] [stdout] --> src/client.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 94 | for i_delim in 0..SPLIT_HEADER_VALUE_CHAR.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 94 - for i_delim in 0..SPLIT_HEADER_VALUE_CHAR.len() { [INFO] [stdout] 94 + for in &SPLIT_HEADER_VALUE_CHAR { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i_char` is only used to index `string_chars` [INFO] [stdout] --> src/client.rs:95:23 [INFO] [stdout] | [INFO] [stdout] 95 | for i_char in 0..string_chars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 95 - for i_char in 0..string_chars.len() { [INFO] [stdout] 95 + for in &string_chars { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | return String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return String::new(); [INFO] [stdout] 79 + String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return 0; [INFO] [stdout] 83 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return 0; [INFO] [stdout] 87 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / return Err(ClientError::ConfigError(format!( [INFO] [stdout] 117 | | "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 | | ))); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 ~ Err(ClientError::ConfigError(format!( [INFO] [stdout] 117 + "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/config.rs:116:45 [INFO] [stdout] | [INFO] [stdout] 116 | return Err(ClientError::ConfigError(format!( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 117 | | "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 | | ))); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Configuration is invalid, see '--help' for details.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return outputs; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return outputs; [INFO] [stdout] 131 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / return !(self.endpoint.is_empty() && self.script.is_empty()) [INFO] [stdout] 138 | | && o.contains(&self.output.as_str()); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 ~ !(self.endpoint.is_empty() && self.script.is_empty()) [INFO] [stdout] 138 ~ && o.contains(&self.output.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return true; [INFO] [stdout] 157 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | Ok(content) => return Ok(content), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - Ok(content) => return Ok(content), [INFO] [stdout] 179 + Ok(content) => Ok(content), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | / return Err(ClientError::ConfigError( [INFO] [stdout] 182 | | "invalid script file path".to_string(), [INFO] [stdout] 183 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 181 ~ Err(ClientError::ConfigError( [INFO] [stdout] 182 + "invalid script file path".to_string(), [INFO] [stdout] 183 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | return config; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - return config; [INFO] [stdout] 211 + config [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/config.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | fn from_csv(&self) -> Result, ClientError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `record` after checking its variant with `is_err` [INFO] [stdout] --> src/config.rs:224:53 [INFO] [stdout] | [INFO] [stdout] 223 | if record.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = record` [INFO] [stdout] 224 | return Err(ClientError::ConfigError(record.unwrap_err().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | return Ok(configs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 232 - return Ok(configs); [INFO] [stdout] 232 + Ok(configs) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | return self.from_csv(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 285 - return self.from_csv(); [INFO] [stdout] 285 + self.from_csv() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / pub enum ClientError { [INFO] [stdout] 5 | | ConfigError(String), [INFO] [stdout] 6 | | HTTPError(String), [INFO] [stdout] 7 | | HeaderError(String), [INFO] [stdout] 8 | | StateParseError(String), [INFO] [stdout] 9 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | ClientError::ConfigError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 14 ~ ClientError::ConfigError(s) => write!(f, "{}", s), [INFO] [stdout] 15 | ClientError::HTTPError(s) => return write!(f, "{}", s), [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:42 [INFO] [stdout] | [INFO] [stdout] 15 | ClientError::HTTPError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 ~ ClientError::HTTPError(s) => write!(f, "{}", s), [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:16:44 [INFO] [stdout] | [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 ~ ClientError::HeaderError(s) => write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:17:48 [INFO] [stdout] | [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 ~ ClientError::StateParseError(s) => write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | / return format!( [INFO] [stdout] 64 | | "requested={} processed={} success={} fail={} error={} duration={:?}", [INFO] [stdout] 65 | | self.requested, self.processed, self.success, self.fail, self.error, duration, [INFO] [stdout] 66 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 ~ format!( [INFO] [stdout] 64 + "requested={} processed={} success={} fail={} error={} duration={:?}", [INFO] [stdout] 65 + self.requested, self.processed, self.success, self.fail, self.error, duration, [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / return StateSerialize { [INFO] [stdout] 72 | | took: took.as_millis(), [INFO] [stdout] 73 | | requested: self.requested, [INFO] [stdout] 74 | | processed: self.processed, [INFO] [stdout] ... | [INFO] [stdout] 77 | | error: self.error, [INFO] [stdout] 78 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 ~ StateSerialize { [INFO] [stdout] 72 + took: took.as_millis(), [INFO] [stdout] 73 + requested: self.requested, [INFO] [stdout] 74 + processed: self.processed, [INFO] [stdout] 75 + success: self.success, [INFO] [stdout] 76 + fail: self.fail, [INFO] [stdout] 77 + error: self.error, [INFO] [stdout] 78 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | return Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()); [INFO] [stdout] 91 + Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/state.rs:90:23 [INFO] [stdout] | [INFO] [stdout] 90 | wtr.serialize(&self.to_seralizer())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.to_seralizer()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `client` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:95:29 [INFO] [stdout] | [INFO] [stdout] 87 | if client.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = client` [INFO] [stdout] ... [INFO] [stdout] 95 | client.unwrap_err(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / return Ok(Client { [INFO] [stdout] 27 | | method: config.method, [INFO] [stdout] 28 | | endpoint: config.endpoint, [INFO] [stdout] 29 | | headers: headers, [INFO] [stdout] 30 | | debug: config.debug, [INFO] [stdout] 31 | | }); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 ~ Ok(Client { [INFO] [stdout] 27 + method: config.method, [INFO] [stdout] 28 + endpoint: config.endpoint, [INFO] [stdout] 29 + headers: headers, [INFO] [stdout] 30 + debug: config.debug, [INFO] [stdout] 31 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/client.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | if header.0 != "" { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!header.0.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(response.status()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Ok(response.status()); [INFO] [stdout] 53 + Ok(response.status()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | Err(err) => return Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 55 - Err(err) => return Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] 55 + Err(err) => Err(ClientError::HTTPError(err.to_string())), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | return Ok((name.to_string(), value.to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return Ok((name.to_string(), value.to_string())); [INFO] [stdout] 79 + Ok((name.to_string(), value.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | / return Err(ClientError::HeaderError(format!( [INFO] [stdout] 83 | | "Header values cannot be empty in '{}'", [INFO] [stdout] 84 | | self [INFO] [stdout] 85 | | ))) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Err(ClientError::HeaderError(format!( [INFO] [stdout] 83 + "Header values cannot be empty in '{}'", [INFO] [stdout] 84 + self [INFO] [stdout] 85 + ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/client.rs:73:20 [INFO] [stdout] | [INFO] [stdout] 73 | if name == "" { [INFO] [stdout] | ^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `name.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/client.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return current_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return current_char; [INFO] [stdout] 101 + current_char [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i_delim` is only used to index `SPLIT_HEADER_VALUE_CHAR` [INFO] [stdout] --> src/client.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 94 | for i_delim in 0..SPLIT_HEADER_VALUE_CHAR.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 94 - for i_delim in 0..SPLIT_HEADER_VALUE_CHAR.len() { [INFO] [stdout] 94 + for in &SPLIT_HEADER_VALUE_CHAR { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i_char` is only used to index `string_chars` [INFO] [stdout] --> src/client.rs:95:23 [INFO] [stdout] | [INFO] [stdout] 95 | for i_char in 0..string_chars.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 95 - for i_char in 0..string_chars.len() { [INFO] [stdout] 95 + for in &string_chars { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/client.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | assert!(!cli.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `cli.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | return String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return String::new(); [INFO] [stdout] 79 + String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return 0; [INFO] [stdout] 83 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 - return 0; [INFO] [stdout] 87 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | / return Err(ClientError::ConfigError(format!( [INFO] [stdout] 117 | | "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 | | ))); [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 ~ Err(ClientError::ConfigError(format!( [INFO] [stdout] 117 + "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/config.rs:116:45 [INFO] [stdout] | [INFO] [stdout] 116 | return Err(ClientError::ConfigError(format!( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 117 | | "Configuration is invalid, see '--help' for details." [INFO] [stdout] 118 | | ))); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"Configuration is invalid, see '--help' for details.".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | return outputs; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 131 - return outputs; [INFO] [stdout] 131 + outputs [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / return !(self.endpoint.is_empty() && self.script.is_empty()) [INFO] [stdout] 138 | | && o.contains(&self.output.as_str()); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 137 ~ !(self.endpoint.is_empty() && self.script.is_empty()) [INFO] [stdout] 138 ~ && o.contains(&self.output.as_str()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 157 - return true; [INFO] [stdout] 157 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:179:28 [INFO] [stdout] | [INFO] [stdout] 179 | Ok(content) => return Ok(content), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 179 - Ok(content) => return Ok(content), [INFO] [stdout] 179 + Ok(content) => Ok(content), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | / return Err(ClientError::ConfigError( [INFO] [stdout] 182 | | "invalid script file path".to_string(), [INFO] [stdout] 183 | | )) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 181 ~ Err(ClientError::ConfigError( [INFO] [stdout] 182 + "invalid script file path".to_string(), [INFO] [stdout] 183 + )) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | return config; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - return config; [INFO] [stdout] 211 + config [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/config.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | fn from_csv(&self) -> Result, ClientError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `record` after checking its variant with `is_err` [INFO] [stdout] --> src/config.rs:224:53 [INFO] [stdout] | [INFO] [stdout] 223 | if record.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = record` [INFO] [stdout] 224 | return Err(ClientError::ConfigError(record.unwrap_err().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | return Ok(configs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 232 - return Ok(configs); [INFO] [stdout] 232 + Ok(configs) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | return self.from_csv(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 285 - return self.from_csv(); [INFO] [stdout] 285 + self.from_csv() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/config.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | assert!(!v.is_err()); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `v.is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `Error` [INFO] [stdout] --> src/errors.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / pub enum ClientError { [INFO] [stdout] 5 | | ConfigError(String), [INFO] [stdout] 6 | | HTTPError(String), [INFO] [stdout] 7 | | HeaderError(String), [INFO] [stdout] 8 | | StateParseError(String), [INFO] [stdout] 9 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | ClientError::ConfigError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 14 ~ ClientError::ConfigError(s) => write!(f, "{}", s), [INFO] [stdout] 15 | ClientError::HTTPError(s) => return write!(f, "{}", s), [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:15:42 [INFO] [stdout] | [INFO] [stdout] 15 | ClientError::HTTPError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 ~ ClientError::HTTPError(s) => write!(f, "{}", s), [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:16:44 [INFO] [stdout] | [INFO] [stdout] 16 | ClientError::HeaderError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 ~ ClientError::HeaderError(s) => write!(f, "{}", s), [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/errors.rs:17:48 [INFO] [stdout] | [INFO] [stdout] 17 | ClientError::StateParseError(s) => return write!(f, "{}", s), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 17 ~ ClientError::StateParseError(s) => write!(f, "{}", s), [INFO] [stdout] 18 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | / return format!( [INFO] [stdout] 64 | | "requested={} processed={} success={} fail={} error={} duration={:?}", [INFO] [stdout] 65 | | self.requested, self.processed, self.success, self.fail, self.error, duration, [INFO] [stdout] 66 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 ~ format!( [INFO] [stdout] 64 + "requested={} processed={} success={} fail={} error={} duration={:?}", [INFO] [stdout] 65 + self.requested, self.processed, self.success, self.fail, self.error, duration, [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | / return StateSerialize { [INFO] [stdout] 72 | | took: took.as_millis(), [INFO] [stdout] 73 | | requested: self.requested, [INFO] [stdout] 74 | | processed: self.processed, [INFO] [stdout] ... | [INFO] [stdout] 77 | | error: self.error, [INFO] [stdout] 78 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 ~ StateSerialize { [INFO] [stdout] 72 + took: took.as_millis(), [INFO] [stdout] 73 + requested: self.requested, [INFO] [stdout] 74 + processed: self.processed, [INFO] [stdout] 75 + success: self.success, [INFO] [stdout] 76 + fail: self.fail, [INFO] [stdout] 77 + error: self.error, [INFO] [stdout] 78 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | return Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()); [INFO] [stdout] 91 + Ok(String::from_utf8(wtr.into_inner()?)?.trim().to_owned()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/state.rs:90:23 [INFO] [stdout] | [INFO] [stdout] 90 | wtr.serialize(&self.to_seralizer())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.to_seralizer()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `client` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:95:29 [INFO] [stdout] | [INFO] [stdout] 87 | if client.is_err() { [INFO] [stdout] | ------------------ help: try: `if let Err() = client` [INFO] [stdout] ... [INFO] [stdout] 95 | client.unwrap_err(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.64s [INFO] running `Command { std: "docker" "inspect" "14f17f2755ce54fbc2e34f0e7cb2a45c6e1b45d58443045e708cb6c8cda4f728", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14f17f2755ce54fbc2e34f0e7cb2a45c6e1b45d58443045e708cb6c8cda4f728", kill_on_drop: false }` [INFO] [stdout] 14f17f2755ce54fbc2e34f0e7cb2a45c6e1b45d58443045e708cb6c8cda4f728