[INFO] cloning repository https://github.com/songokas/rust-sprinkler-control [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/songokas/rust-sprinkler-control" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongokas%2Frust-sprinkler-control", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongokas%2Frust-sprinkler-control'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 78481af93f226b751aec1e1b2bb06e9bef7477dd [INFO] linting songokas/rust-sprinkler-control against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongokas%2Frust-sprinkler-control" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/songokas/rust-sprinkler-control [INFO] finished tweaking git repo https://github.com/songokas/rust-sprinkler-control [INFO] tweaked toml for git repo https://github.com/songokas/rust-sprinkler-control written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/songokas/rust-sprinkler-control 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/songokas/rust-sprinkler-control 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] Updating git repository `https://github.com/songokas/rust-arduino-mqtt-pin` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded arraydeque v0.4.5 [INFO] [stderr] Downloaded env_logger v0.7.0 [INFO] [stderr] Downloaded bitflags v1.2.0 [INFO] [stderr] Downloaded json v0.12.0 [INFO] [stderr] Downloaded yaml-rust v0.4.3 [INFO] [stderr] Downloaded mosquitto-client v0.1.5 [INFO] [stderr] Downloaded clap v2.31.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] c761e373a849b2d9f782efa37bd1146ba2a7e969fd447259f3bfbf7db7da5f35 [INFO] running `Command { std: "docker" "start" "-a" "c761e373a849b2d9f782efa37bd1146ba2a7e969fd447259f3bfbf7db7da5f35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c761e373a849b2d9f782efa37bd1146ba2a7e969fd447259f3bfbf7db7da5f35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c761e373a849b2d9f782efa37bd1146ba2a7e969fd447259f3bfbf7db7da5f35", kill_on_drop: false }` [INFO] [stdout] c761e373a849b2d9f782efa37bd1146ba2a7e969fd447259f3bfbf7db7da5f35 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 160b72d25c05fa24bbfa5e1be3f6571513e1b343f34df9dd49dc5b2b20193eab [INFO] running `Command { std: "docker" "start" "-a" "160b72d25c05fa24bbfa5e1be3f6571513e1b343f34df9dd49dc5b2b20193eab", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling arraydeque v0.4.5 [INFO] [stderr] Compiling bitflags v1.2.0 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking linked-hash-map v0.5.2 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Checking yaml-rust v0.4.3 [INFO] [stderr] Checking textwrap v0.9.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking mosquitto-client v0.1.5 [INFO] [stderr] Checking json v0.12.0 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking termcolor v1.0.5 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking clap v2.31.2 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking arduino-mqtt-pin v0.1.0 (https://github.com/songokas/rust-arduino-mqtt-pin#2210d676) [INFO] [stderr] Checking env_logger v0.7.0 [INFO] [stderr] Checking sprinkler-control v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: you should consider adding a `Default` implementation for `State` [INFO] [stdout] --> src/state.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> State [INFO] [stdout] 15 | | { [INFO] [stdout] 16 | | State { pins: HashMap::new()} [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 12 + impl Default for State { [INFO] [stdout] 13 + fn default() -> Self { [INFO] [stdout] 14 + Self::new() [INFO] [stdout] 15 + } [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:34:83 [INFO] [stdout] | [INFO] [stdout] 34 | self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { return count + 1 } else { count }) [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] 34 - self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { return count + 1 } else { count }) [INFO] [stdout] 34 + self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { count + 1 } else { count }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/helper.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if !zones.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `zones.is_none()` [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: this boolean expression can be simplified [INFO] [stdout] --> src/helper.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if !key.as_str().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `key.as_str().is_none()` [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: unneeded `return` statement [INFO] [stdout] --> src/helper.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return Ok(v); [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] 31 - return Ok(v); [INFO] [stdout] 31 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `apply_value` after checking its variant with `is_some` [INFO] [stdout] --> src/helper.rs:55:63 [INFO] [stdout] | [INFO] [stdout] 54 | if apply_value.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = apply_value` [INFO] [stdout] 55 | let result = send(client, node, zone.control_pin, apply_value.unwrap()); [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: called `unwrap` on `apply_value` after checking its variant with `is_some` [INFO] [stdout] --> src/helper.rs:57:79 [INFO] [stdout] | [INFO] [stdout] 54 | if apply_value.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = apply_value` [INFO] [stdout] ... [INFO] [stdout] 57 | debug!("Sent to {}: pin {} value {}", node, zone.control_pin, apply_value.unwrap()); [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/helper.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return count; [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] 65 - return count; [INFO] [stdout] 65 + count [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/main.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | .map(|a| { info!("Listening for {}", remote_set); a}) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] = note: `#[warn(clippy::manual_inspect)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 77 - .map(|a| { info!("Listening for {}", remote_set); a}) [INFO] [stdout] 77 + .inspect(|a| { info!("Listening for {}", remote_set);}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/main.rs:80:10 [INFO] [stdout] | [INFO] [stdout] 80 | .map(|a| { info!("Listening for {}", local_set); a }) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 80 - .map(|a| { info!("Listening for {}", local_set); a }) [INFO] [stdout] 80 + .inspect(|a| { info!("Listening for {}", local_set); }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | if !message.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `message.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/main.rs:110:62 [INFO] [stdout] | [INFO] [stdout] 110 | .map_err(|_| Error::new(ErrorKind::NotConnected, format!("Mqtt disconnected")))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Mqtt disconnected".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: you should consider adding a `Default` implementation for `State` [INFO] [stdout] --> src/state.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | / pub fn new() -> State [INFO] [stdout] 15 | | { [INFO] [stdout] 16 | | State { pins: HashMap::new()} [INFO] [stdout] 17 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 12 + impl Default for State { [INFO] [stdout] 13 + fn default() -> Self { [INFO] [stdout] 14 + Self::new() [INFO] [stdout] 15 + } [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/state.rs:34:83 [INFO] [stdout] | [INFO] [stdout] 34 | self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { return count + 1 } else { count }) [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] 34 - self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { return count + 1 } else { count }) [INFO] [stdout] 34 + self.pins.iter().fold(0, |count, (_, op)| if op.pin_state.value.is_on() { count + 1 } else { count }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/state.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | assert_eq!(state.should_be_manual_until(3, &expected_dt), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 58 - assert_eq!(state.should_be_manual_until(3, &expected_dt), true); [INFO] [stdout] 58 + assert!(state.should_be_manual_until(3, &expected_dt)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/state.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | assert_eq!(state.should_be_manual_until(2, &expected_dt), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 59 - assert_eq!(state.should_be_manual_until(2, &expected_dt), false); [INFO] [stdout] 59 + assert!(!state.should_be_manual_until(2, &expected_dt)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/state.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | assert_eq!(state.should_be_manual_until(3, &future_dt), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 60 - assert_eq!(state.should_be_manual_until(3, &future_dt), false); [INFO] [stdout] 60 + assert!(!state.should_be_manual_until(3, &future_dt)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/helper.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | if !zones.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `zones.is_none()` [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: this boolean expression can be simplified [INFO] [stdout] --> src/helper.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | if !key.as_str().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `key.as_str().is_none()` [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: unneeded `return` statement [INFO] [stdout] --> src/helper.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return Ok(v); [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] 31 - return Ok(v); [INFO] [stdout] 31 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `apply_value` after checking its variant with `is_some` [INFO] [stdout] --> src/helper.rs:55:63 [INFO] [stdout] | [INFO] [stdout] 54 | if apply_value.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = apply_value` [INFO] [stdout] 55 | let result = send(client, node, zone.control_pin, apply_value.unwrap()); [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: called `unwrap` on `apply_value` after checking its variant with `is_some` [INFO] [stdout] --> src/helper.rs:57:79 [INFO] [stdout] | [INFO] [stdout] 54 | if apply_value.is_some() { [INFO] [stdout] | ------------------------ help: try: `if let Some() = apply_value` [INFO] [stdout] ... [INFO] [stdout] 57 | debug!("Sent to {}: pin {} value {}", node, zone.control_pin, apply_value.unwrap()); [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/helper.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | return count; [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] 65 - return count; [INFO] [stdout] 65 + count [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/main.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | .map(|a| { info!("Listening for {}", remote_set); a}) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] = note: `#[warn(clippy::manual_inspect)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 77 - .map(|a| { info!("Listening for {}", remote_set); a}) [INFO] [stdout] 77 + .inspect(|a| { info!("Listening for {}", remote_set);}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `map` over `inspect` [INFO] [stdout] --> src/main.rs:80:10 [INFO] [stdout] | [INFO] [stdout] 80 | .map(|a| { info!("Listening for {}", local_set); a }) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 80 - .map(|a| { info!("Listening for {}", local_set); a }) [INFO] [stdout] 80 + .inspect(|a| { info!("Listening for {}", local_set); }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | if !message.is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `message.is_err()` [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: useless use of `format!` [INFO] [stdout] --> src/main.rs:110:62 [INFO] [stdout] | [INFO] [stdout] 110 | .map_err(|_| Error::new(ErrorKind::NotConnected, format!("Mqtt disconnected")))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Mqtt disconnected".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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.85s [INFO] running `Command { std: "docker" "inspect" "160b72d25c05fa24bbfa5e1be3f6571513e1b343f34df9dd49dc5b2b20193eab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "160b72d25c05fa24bbfa5e1be3f6571513e1b343f34df9dd49dc5b2b20193eab", kill_on_drop: false }` [INFO] [stdout] 160b72d25c05fa24bbfa5e1be3f6571513e1b343f34df9dd49dc5b2b20193eab