[INFO] fetching crate mwc_wallet_config 5.3.8... [INFO] linting mwc_wallet_config-5.3.8 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate mwc_wallet_config 5.3.8 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate mwc_wallet_config 5.3.8 [INFO] finished tweaking crates.io crate mwc_wallet_config 5.3.8 [INFO] tweaked toml for crates.io crate mwc_wallet_config 5.3.8 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mwc_wallet_config 5.3.8 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 crates.io crate mwc_wallet_config 5.3.8 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 crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ctor v0.1.26 [INFO] [stderr] Downloaded destructure_traitobject v0.2.0 [INFO] [stderr] Downloaded typemap-ors v1.0.0 [INFO] [stderr] Downloaded mwc_util v5.3.9 [INFO] [stderr] Downloaded zip v0.5.13 [INFO] [stderr] Downloaded output_vt100 v0.1.3 [INFO] [stderr] Downloaded pretty_assertions v0.6.1 [INFO] [stderr] Downloaded unsafe-any-ors v1.0.0 [INFO] [stderr] Downloaded mwc_wallet_util v5.3.8 [INFO] [stderr] Downloaded memmap v0.7.0 [INFO] [stderr] Downloaded crypto-mac v0.11.0 [INFO] [stderr] Downloaded libredox v0.1.6 [INFO] [stderr] Downloaded ripemd160 v0.9.1 [INFO] [stderr] Downloaded hyper-rustls v0.23.2 [INFO] [stderr] Downloaded easy-jsonrpc-mw v0.5.4 [INFO] [stderr] Downloaded polling v3.9.0 [INFO] [stderr] Downloaded mwc_pool v5.3.9 [INFO] [stderr] Downloaded mwc_api v5.3.9 [INFO] [stderr] Downloaded mwc_p2p v5.3.9 [INFO] [stderr] Downloaded croaring v1.1.0 [INFO] [stderr] Downloaded lmdb-zero v0.4.4 [INFO] [stderr] Downloaded liblmdb-sys v0.2.2 [INFO] [stderr] Downloaded croaring-sys v2.1.0 [INFO] [stderr] Downloaded mwc_core v5.3.9 [INFO] [stderr] Downloaded mwc_store v5.3.9 [INFO] [stderr] Downloaded mwc_secp256k1zkp v0.7.16 [INFO] [stderr] Downloaded sysinfo v0.32.1 [INFO] [stderr] Downloaded async-io v2.5.0 [INFO] [stderr] Downloaded mwc_keychain v5.3.9 [INFO] [stderr] Downloaded supercow v0.1.0 [INFO] [stderr] Downloaded password-hash v0.2.1 [INFO] [stderr] Downloaded log4rs v1.3.0 [INFO] [stderr] Downloaded easy-jsonrpc-proc-macro-mw v0.5.1 [INFO] [stderr] Downloaded tor-stream v0.2.0 [INFO] [stderr] Downloaded pbkdf2 v0.8.0 [INFO] [stderr] Downloaded blake2-rfc v0.2.18 [INFO] [stderr] Downloaded curve25519-dalek v3.2.0 [INFO] [stderr] Downloaded mwc_chain v5.3.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 1d01fa8f9f6189b6859171ecc0c23abbe28c3b49973fd83656dbf10cd083fbec [INFO] running `Command { std: "docker" "start" "-a" "1d01fa8f9f6189b6859171ecc0c23abbe28c3b49973fd83656dbf10cd083fbec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d01fa8f9f6189b6859171ecc0c23abbe28c3b49973fd83656dbf10cd083fbec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d01fa8f9f6189b6859171ecc0c23abbe28c3b49973fd83656dbf10cd083fbec", kill_on_drop: false }` [INFO] [stdout] 1d01fa8f9f6189b6859171ecc0c23abbe28c3b49973fd83656dbf10cd083fbec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 52733e487f43a9c6e7e037c401cf8cabcfcd8a89de4c6c5389ddf8ae4e917b2c [INFO] running `Command { std: "docker" "start" "-a" "52733e487f43a9c6e7e037c401cf8cabcfcd8a89de4c6c5389ddf8ae4e917b2c", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking signature v1.6.4 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Checking ed25519 v1.5.3 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.11.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking event-listener v5.4.0 [INFO] [stderr] Checking thread-id v4.2.2 [INFO] [stderr] Checking base64ct v1.8.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking rustc-demangle v0.1.25 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Checking password-hash v0.2.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Checking ripemd160 v0.9.1 [INFO] [stderr] Checking pbkdf2 v0.8.0 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking blake2-rfc v0.2.18 [INFO] [stderr] Checking futures-lite v2.6.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling mwc_secp256k1zkp v0.7.16 [INFO] [stderr] Compiling croaring-sys v2.1.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking siphasher v0.3.11 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking supercow v0.1.0 [INFO] [stderr] Compiling liblmdb-sys v0.2.2 [INFO] [stderr] Compiling rustls v0.20.9 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking async-executor v1.13.2 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking socks v0.3.4 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking tor-stream v0.2.0 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking pretty_assertions v0.6.1 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking sysinfo v0.32.1 [INFO] [stderr] Checking polling v3.9.0 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking async-io v2.5.0 [INFO] [stderr] Checking backtrace v0.3.75 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Checking croaring v1.1.0 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking tokio v1.46.1 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking webpki v0.22.4 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking webpki-roots v0.22.6 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling easy-jsonrpc-proc-macro-mw v0.5.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking zip v0.5.13 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking lmdb-zero v0.4.4 [INFO] [stderr] Checking zerovec v0.11.2 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tokio-io-timeout v1.2.0 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking async-std v1.13.1 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking jsonrpc-core v10.1.0 [INFO] [stderr] Checking log4rs v1.3.0 [INFO] [stderr] Checking easy-jsonrpc-mw v0.5.4 [INFO] [stderr] Checking tokio-rustls v0.23.4 [INFO] [stderr] Checking mwc_util v5.3.9 [INFO] [stderr] Checking mwc_keychain v5.3.9 [INFO] [stderr] Checking mwc_core v5.3.9 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking mwc_store v5.3.9 [INFO] [stderr] Checking mwc_pool v5.3.9 [INFO] [stderr] Checking mwc_chain v5.3.9 [INFO] [stderr] Checking hyper-rustls v0.23.2 [INFO] [stderr] Checking hyper-timeout v0.4.1 [INFO] [stderr] Checking mwc_p2p v5.3.9 [INFO] [stderr] Checking mwc_api v5.3.9 [INFO] [stderr] Checking mwc_wallet_util v5.3.8 [INFO] [stderr] Checking mwc_wallet_config v5.3.8 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/comments.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | match !(key == "NOT_FOUND") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(key != "NOT_FOUND")` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/comments.rs:424:27 [INFO] [stdout] | [INFO] [stdout] 424 | vec_old_conf.iter().map(|s| s.chars()).flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|s| s.chars())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/comments.rs:449:12 [INFO] [stdout] | [INFO] [stdout] 449 | match !(key == "NOT_FOUND") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(key != "NOT_FOUND")` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/comments.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | let old_key_exist = vec_key_old.iter().any(|old_key| *old_key == key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec_key_old.contains(&key)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/comments.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | match !(key == "NOT_FOUND") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(key != "NOT_FOUND")` [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: called `map(..).flatten()` on `Iterator` [INFO] [stdout] --> src/comments.rs:424:27 [INFO] [stdout] | [INFO] [stdout] 424 | vec_old_conf.iter().map(|s| s.chars()).flatten().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|s| s.chars())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten [INFO] [stdout] = note: `#[warn(clippy::map_flatten)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/comments.rs:449:12 [INFO] [stdout] | [INFO] [stdout] 449 | match !(key == "NOT_FOUND") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `(key != "NOT_FOUND")` [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: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/comments.rs:462:23 [INFO] [stdout] | [INFO] [stdout] 462 | let old_key_exist = vec_key_old.iter().any(|old_key| *old_key == key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec_key_old.contains(&key)` [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: using `clone` on type `ChainTypes` which implements the `Copy` trait [INFO] [stdout] --> src/config.rs:217:30 [INFO] [stdout] | [INFO] [stdout] 217 | defaults.chain_type = Some(chain_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*chain_type` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ChainTypes` which implements the `Copy` trait [INFO] [stdout] --> src/config.rs:217:30 [INFO] [stdout] | [INFO] [stdout] 217 | defaults.chain_type = Some(chain_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*chain_type` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/config.rs:238:3 [INFO] [stdout] | [INFO] [stdout] 238 | return_value.config_file_path = Some(PathBuf::from(&file_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `types::GlobalWalletConfig { config_file_path: Some(PathBuf::from(&file_path)), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/config.rs:237:3 [INFO] [stdout] | [INFO] [stdout] 237 | let mut return_value = GlobalWalletConfig::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/config.rs:238:3 [INFO] [stdout] | [INFO] [stdout] 238 | return_value.config_file_path = Some(PathBuf::from(&file_path)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `types::GlobalWalletConfig { config_file_path: Some(PathBuf::from(&file_path)), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/config.rs:237:3 [INFO] [stdout] | [INFO] [stdout] 237 | let mut return_value = GlobalWalletConfig::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/config.rs:276:46 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn update_paths(&mut self, wallet_home: &PathBuf, wallet_data_dir: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 276 ~ pub fn update_paths(&mut self, wallet_home: &Path, wallet_data_dir: Option<&str>) { [INFO] [stdout] 277 ~ let mut wallet_path = wallet_home.to_path_buf(); [INFO] [stdout] 278 | wallet_path.push(wallet_data_dir.unwrap_or(MWC_WALLET_DIR)); [INFO] [stdout] 279 | self.members.as_mut().unwrap().wallet.data_file_dir = [INFO] [stdout] 280 | wallet_path.to_str().unwrap().to_owned(); [INFO] [stdout] 281 ~ let mut secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 282 | secret_path.push(OWNER_API_SECRET_FILE_NAME); [INFO] [stdout] 283 | self.members.as_mut().unwrap().wallet.api_secret_path = [INFO] [stdout] 284 | Some(secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 285 ~ let mut node_secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 286 | node_secret_path.push(NODE_API_SECRET_FILE_NAME); [INFO] [stdout] 287 | self.members.as_mut().unwrap().wallet.node_api_secret_path = [INFO] [stdout] 288 | Some(node_secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 289 ~ let mut log_path = wallet_home.to_path_buf(); [INFO] [stdout] 290 | log_path.push(WALLET_LOG_FILE_NAME); [INFO] [stdout] ... [INFO] [stdout] 297 | .log_file_path = log_path.to_str().unwrap().to_owned(); [INFO] [stdout] 298 ~ let tor_path = wallet_home.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/config.rs:276:46 [INFO] [stdout] | [INFO] [stdout] 276 | pub fn update_paths(&mut self, wallet_home: &PathBuf, wallet_data_dir: Option<&str>) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 276 ~ pub fn update_paths(&mut self, wallet_home: &Path, wallet_data_dir: Option<&str>) { [INFO] [stdout] 277 ~ let mut wallet_path = wallet_home.to_path_buf(); [INFO] [stdout] 278 | wallet_path.push(wallet_data_dir.unwrap_or(MWC_WALLET_DIR)); [INFO] [stdout] 279 | self.members.as_mut().unwrap().wallet.data_file_dir = [INFO] [stdout] 280 | wallet_path.to_str().unwrap().to_owned(); [INFO] [stdout] 281 ~ let mut secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 282 | secret_path.push(OWNER_API_SECRET_FILE_NAME); [INFO] [stdout] 283 | self.members.as_mut().unwrap().wallet.api_secret_path = [INFO] [stdout] 284 | Some(secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 285 ~ let mut node_secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 286 | node_secret_path.push(NODE_API_SECRET_FILE_NAME); [INFO] [stdout] 287 | self.members.as_mut().unwrap().wallet.node_api_secret_path = [INFO] [stdout] 288 | Some(node_secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 289 ~ let mut log_path = wallet_home.to_path_buf(); [INFO] [stdout] 290 | log_path.push(WALLET_LOG_FILE_NAME); [INFO] [stdout] ... [INFO] [stdout] 297 | .log_file_path = log_path.to_str().unwrap().to_owned(); [INFO] [stdout] 298 ~ let tor_path = wallet_home.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:313:15 [INFO] [stdout] | [INFO] [stdout] 313 | Ok(enc) => return Ok(enc), [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] 313 - Ok(enc) => return Ok(enc), [INFO] [stdout] 313 + Ok(enc) => Ok(enc), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:313:15 [INFO] [stdout] | [INFO] [stdout] 313 | Ok(enc) => return Ok(enc), [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] 313 - Ok(enc) => return Ok(enc), [INFO] [stdout] 313 + Ok(enc) => Ok(enc), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | / return Err(ConfigError::SerializationError(format!( [INFO] [stdout] 316 | | "Unable convert config to toml, {}", [INFO] [stdout] 317 | | e [INFO] [stdout] 318 | | ))) [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] 315 ~ Err(ConfigError::SerializationError(format!( [INFO] [stdout] 316 ~ "Unable convert config to toml, {}", [INFO] [stdout] 317 ~ e [INFO] [stdout] 318 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/config.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | / return Err(ConfigError::SerializationError(format!( [INFO] [stdout] 316 | | "Unable convert config to toml, {}", [INFO] [stdout] 317 | | e [INFO] [stdout] 318 | | ))) [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] 315 ~ Err(ConfigError::SerializationError(format!( [INFO] [stdout] 316 ~ "Unable convert config to toml, {}", [INFO] [stdout] 317 ~ e [INFO] [stdout] 318 ~ ))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/config.rs:352:6 [INFO] [stdout] | [INFO] [stdout] 352 | if config.config_file_version != None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `config.config_file_version.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/config.rs:360:18 [INFO] [stdout] | [INFO] [stdout] 360 | ..config.tor.unwrap_or(TorConfig::default()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> src/config.rs:352:6 [INFO] [stdout] | [INFO] [stdout] 352 | if config.config_file_version != None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `config.config_file_version.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/config.rs:360:18 [INFO] [stdout] | [INFO] [stdout] 360 | ..config.tor.unwrap_or(TorConfig::default()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/types.rs:179:20 [INFO] [stdout] | [INFO] [stdout] 179 | .unwrap_or_else(|| global::get_accept_fee_base()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `global::get_accept_fee_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/types.rs:179:20 [INFO] [stdout] | [INFO] [stdout] 179 | .unwrap_or_else(|| global::get_accept_fee_base()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `global::get_accept_fee_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types.rs:252:1 [INFO] [stdout] | [INFO] [stdout] 252 | / impl Default for TorBridgeConfig { [INFO] [stdout] 253 | | fn default() -> TorBridgeConfig { [INFO] [stdout] 254 | | TorBridgeConfig { [INFO] [stdout] 255 | | bridge_line: None, [INFO] [stdout] ... | [INFO] [stdout] 259 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 245 + #[derive(Default)] [INFO] [stdout] 246 | pub struct TorBridgeConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | / impl Default for TorProxyConfig { [INFO] [stdout] 283 | | fn default() -> TorProxyConfig { [INFO] [stdout] 284 | | TorProxyConfig { [INFO] [stdout] 285 | | transport: None, [INFO] [stdout] ... | [INFO] [stdout] 292 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 269 + #[derive(Default)] [INFO] [stdout] 270 | pub struct TorProxyConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types.rs:252:1 [INFO] [stdout] | [INFO] [stdout] 252 | / impl Default for TorBridgeConfig { [INFO] [stdout] 253 | | fn default() -> TorBridgeConfig { [INFO] [stdout] 254 | | TorBridgeConfig { [INFO] [stdout] 255 | | bridge_line: None, [INFO] [stdout] ... | [INFO] [stdout] 259 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 245 + #[derive(Default)] [INFO] [stdout] 246 | pub struct TorBridgeConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/types.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | / impl Default for TorProxyConfig { [INFO] [stdout] 283 | | fn default() -> TorProxyConfig { [INFO] [stdout] 284 | | TorProxyConfig { [INFO] [stdout] 285 | | transport: None, [INFO] [stdout] ... | [INFO] [stdout] 292 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 269 + #[derive(Default)] [INFO] [stdout] 270 | pub struct TorProxyConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s [INFO] running `Command { std: "docker" "inspect" "52733e487f43a9c6e7e037c401cf8cabcfcd8a89de4c6c5389ddf8ae4e917b2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52733e487f43a9c6e7e037c401cf8cabcfcd8a89de4c6c5389ddf8ae4e917b2c", kill_on_drop: false }` [INFO] [stdout] 52733e487f43a9c6e7e037c401cf8cabcfcd8a89de4c6c5389ddf8ae4e917b2c