[INFO] cloning repository https://github.com/hch12907/dynners [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hch12907/dynners" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhch12907%2Fdynners", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhch12907%2Fdynners'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 36a756c7c86cfd4c3ab1eaba44b92346587d499d [INFO] linting hch12907/dynners against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhch12907%2Fdynners" "/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/hch12907/dynners [INFO] finished tweaking git repo https://github.com/hch12907/dynners [INFO] tweaked toml for git repo https://github.com/hch12907/dynners written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hch12907/dynners 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/hch12907/dynners 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 thiserror-impl v1.0.64 [INFO] [stderr] Downloaded security-framework-sys v2.12.0 [INFO] [stderr] Downloaded thiserror v1.0.64 [INFO] [stderr] Downloaded schannel v0.1.26 [INFO] [stderr] Downloaded proc-macro2 v1.0.87 [INFO] [stderr] Downloaded rustls-pki-types v1.9.0 [INFO] [stderr] Downloaded cc v1.1.30 [INFO] [stderr] Downloaded curl v0.4.47 [INFO] [stderr] Downloaded syn v2.0.79 [INFO] [stderr] Downloaded regex v1.11.0 [INFO] [stderr] Downloaded rustls v0.23.14 [INFO] [stderr] Downloaded libc v0.2.159 [INFO] [stderr] Downloaded libz-sys v1.1.20 [INFO] [stderr] Downloaded curl-sys v0.4.77+curl-8.10.1 [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] a9822a8289bede8aa2e55e4069d1ab93924f37e5d6bfaa27325ee5c08ea606b1 [INFO] running `Command { std: "docker" "start" "-a" "a9822a8289bede8aa2e55e4069d1ab93924f37e5d6bfaa27325ee5c08ea606b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a9822a8289bede8aa2e55e4069d1ab93924f37e5d6bfaa27325ee5c08ea606b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9822a8289bede8aa2e55e4069d1ab93924f37e5d6bfaa27325ee5c08ea606b1", kill_on_drop: false }` [INFO] [stdout] a9822a8289bede8aa2e55e4069d1ab93924f37e5d6bfaa27325ee5c08ea606b1 [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] 74aab18874d6fc4aec4eec58034222fdc3d2efe61594a7b2fd01380c2d6708db [INFO] running `Command { std: "docker" "start" "-a" "74aab18874d6fc4aec4eec58034222fdc3d2efe61594a7b2fd01380c2d6708db", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.87 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Checking rustls-pki-types v1.9.0 [INFO] [stderr] Compiling cc v1.1.30 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling rustls v0.23.14 [INFO] [stderr] Checking hashbrown v0.15.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking unicode-bidi v0.3.17 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking rustls-native-certs v0.7.3 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking webpki-roots v0.26.6 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking ureq v2.10.1 [INFO] [stderr] Checking dynners v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/ip/interface.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | / transverse_ifaddr(iface) [INFO] [stdout] 161 | | .iter() [INFO] [stdout] 162 | | .filter_map(|ip| match ip { [INFO] [stdout] 163 | | IpAddr::V6(v6) => Some(*v6), [INFO] [stdout] ... | [INFO] [stdout] 166 | | .filter(|v6| mask.in_range(*v6) && !deprecated.iter().any(|ip| *v6 == *ip)) [INFO] [stdout] 167 | | .last() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 167 - .last() [INFO] [stdout] 167 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/ip/interface.rs:166:49 [INFO] [stdout] | [INFO] [stdout] 166 | .filter(|v6| mask.in_range(*v6) && !deprecated.iter().any(|ip| *v6 == *ip)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `deprecated.contains(v6)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/persistence.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | let mut iter = reader.bytes(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] = note: `#[warn(clippy::unbuffered_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/cloudflare.rs:263:42 [INFO] [stdout] | [INFO] [stdout] 262 | if record.kind == RecordKind::A && ipv4.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 263 | self.put_record(record, *ipv4.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/services/cloudflare.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if self.config.domains.iter().any(|d| *d == record.domain) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.config.domains.contains(&record.domain)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/linode.rs:284:42 [INFO] [stdout] | [INFO] [stdout] 283 | if ipv4.is_some() && record.kind == RecordKind::A { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 284 | self.put_record(record, *ipv4.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/services/linode.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | if self.config.domains.iter().any(|d| *d == record.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.config.domains.contains(&record.name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/ip/interface.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | / transverse_ifaddr(iface) [INFO] [stdout] 161 | | .iter() [INFO] [stdout] 162 | | .filter_map(|ip| match ip { [INFO] [stdout] 163 | | IpAddr::V6(v6) => Some(*v6), [INFO] [stdout] ... | [INFO] [stdout] 166 | | .filter(|v6| mask.in_range(*v6) && !deprecated.iter().any(|ip| *v6 == *ip)) [INFO] [stdout] 167 | | .last() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 167 - .last() [INFO] [stdout] 167 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/ip/interface.rs:166:49 [INFO] [stdout] | [INFO] [stdout] 166 | .filter(|v6| mask.in_range(*v6) && !deprecated.iter().any(|ip| *v6 == *ip)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `deprecated.contains(v6)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/shared_dyndns.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 68 | let request = if ipv4.is_some() && ipv6.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 69 | let myip = ipv4.unwrap().to_string() + "," + &ipv6.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: called `unwrap` on `ipv6` after checking its variant with `is_some` [INFO] [stdout] --> src/services/shared_dyndns.rs:69:59 [INFO] [stdout] | [INFO] [stdout] 68 | let request = if ipv4.is_some() && ipv6.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 69 | let myip = ipv4.unwrap().to_string() + "," + &ipv6.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/persistence.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | let mut iter = reader.bytes(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] = note: `#[warn(clippy::unbuffered_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/util.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | assert!(!vec.push(30).is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.push(30).is_some()` [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/util.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | assert!(!vec.get(2).is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.get(2).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: this boolean expression can be simplified [INFO] [stdout] --> src/util.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | assert!(!vec.get(12345678).is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.get(12345678).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: this boolean expression can be simplified [INFO] [stdout] --> src/util.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | assert!(!vec.push(30).is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.push(30).is_some()` [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: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/cloudflare.rs:263:42 [INFO] [stdout] | [INFO] [stdout] 262 | if record.kind == RecordKind::A && ipv4.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 263 | self.put_record(record, *ipv4.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/services/cloudflare.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | if self.config.domains.iter().any(|d| *d == record.domain) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.config.domains.contains(&record.domain)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/linode.rs:284:42 [INFO] [stdout] | [INFO] [stdout] 283 | if ipv4.is_some() && record.kind == RecordKind::A { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 284 | self.put_record(record, *ipv4.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/services/linode.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | if self.config.domains.iter().any(|d| *d == record.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.config.domains.contains(&record.name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `ipv4` after checking its variant with `is_some` [INFO] [stdout] --> src/services/shared_dyndns.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 68 | let request = if ipv4.is_some() && ipv6.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 69 | let myip = ipv4.unwrap().to_string() + "," + &ipv6.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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: called `unwrap` on `ipv6` after checking its variant with `is_some` [INFO] [stdout] --> src/services/shared_dyndns.rs:69:59 [INFO] [stdout] | [INFO] [stdout] 68 | let request = if ipv4.is_some() && ipv6.is_some() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 69 | let myip = ipv4.unwrap().to_string() + "," + &ipv6.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [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 30.04s [INFO] running `Command { std: "docker" "inspect" "74aab18874d6fc4aec4eec58034222fdc3d2efe61594a7b2fd01380c2d6708db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74aab18874d6fc4aec4eec58034222fdc3d2efe61594a7b2fd01380c2d6708db", kill_on_drop: false }` [INFO] [stdout] 74aab18874d6fc4aec4eec58034222fdc3d2efe61594a7b2fd01380c2d6708db