[INFO] cloning repository https://github.com/mimblewimble/grin-wallet [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mimblewimble/grin-wallet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmimblewimble%2Fgrin-wallet", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmimblewimble%2Fgrin-wallet'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5aa02fdea3e25951d583b4551bfcda1d1e9d9a86 [INFO] linting mimblewimble/grin-wallet against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmimblewimble%2Fgrin-wallet" "/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/mimblewimble/grin-wallet [INFO] finished tweaking git repo https://github.com/mimblewimble/grin-wallet [INFO] tweaked toml for git repo https://github.com/mimblewimble/grin-wallet written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mimblewimble/grin-wallet 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/mimblewimble/grin-wallet 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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thiserror v1.0.66 [INFO] [stderr] Downloaded dirs-next v1.0.2 [INFO] [stderr] Downloaded thiserror-impl v1.0.66 [INFO] [stderr] Downloaded pbkdf2 v0.8.0 [INFO] [stderr] Downloaded age-core v0.7.1 [INFO] [stderr] Downloaded typemap-ors v1.0.0 [INFO] [stderr] Downloaded jsonrpc-core v10.1.0 [INFO] [stderr] Downloaded easy-jsonrpc-proc-macro-mw v0.5.1 [INFO] [stderr] Downloaded smallstr v0.2.0 [INFO] [stderr] Downloaded hyper-timeout v0.3.1 [INFO] [stderr] Downloaded tokio-io-timeout v0.4.0 [INFO] [stderr] Downloaded rustls-native-certs v0.3.0 [INFO] [stderr] Downloaded easy-jsonrpc-mw v0.5.4 [INFO] [stderr] Downloaded yaml-rust v0.3.5 [INFO] [stderr] Downloaded grin_api v5.3.3 [INFO] [stderr] Downloaded qr_code v1.1.0 [INFO] [stderr] Downloaded x25519-dalek v0.6.0 [INFO] [stderr] Downloaded anyhow v1.0.92 [INFO] [stderr] Downloaded grin_core v5.3.3 [INFO] [stderr] Downloaded liblmdb-sys v0.2.2 [INFO] [stderr] Downloaded log4rs v1.3.0 [INFO] [stderr] Downloaded hkdf v0.11.0 [INFO] [stderr] Downloaded croaring-sys v2.1.0 [INFO] [stderr] Downloaded age v0.7.1 [INFO] [stderr] Downloaded git2 v0.20.4 [INFO] [stderr] Downloaded croaring v1.1.0 [INFO] [stderr] Downloaded syn v2.0.86 [INFO] [stderr] Downloaded pretty_assertions v0.6.1 [INFO] [stderr] Downloaded grin_secp256k1zkp v0.7.14 [INFO] [stderr] Downloaded linefeed v0.6.0 [INFO] [stderr] Downloaded rustyline v6.3.0 [INFO] [stderr] Downloaded basic-toml v0.1.9 [INFO] [stderr] Downloaded rustix v0.38.38 [INFO] [stderr] Downloaded lmdb-zero v0.4.4 [INFO] [stderr] Downloaded grin_p2p v5.3.3 [INFO] [stderr] Downloaded ct-logs v0.6.0 [INFO] [stderr] Downloaded hyper-rustls v0.20.0 [INFO] [stderr] Downloaded tokio-socks v0.3.0 [INFO] [stderr] Downloaded supercow v0.1.0 [INFO] [stderr] Downloaded grin_keychain v5.3.3 [INFO] [stderr] Downloaded parking_lot_core v0.7.3 [INFO] [stderr] Downloaded rust-argon2 v0.8.3 [INFO] [stderr] Downloaded grin_pool v5.3.3 [INFO] [stderr] Downloaded i18n-embed v0.13.9 [INFO] [stderr] Downloaded grin_store v5.3.3 [INFO] [stderr] Downloaded password-hash v0.2.3 [INFO] [stderr] Downloaded dirs v1.0.5 [INFO] [stderr] Downloaded i18n-embed-fl v0.6.7 [INFO] [stderr] Downloaded i18n-config v0.4.7 [INFO] [stderr] Downloaded i18n-embed-impl v0.8.4 [INFO] [stderr] Downloaded thread-id v4.2.2 [INFO] [stderr] Downloaded semver v0.10.0 [INFO] [stderr] Downloaded ripemd160 v0.9.1 [INFO] [stderr] Downloaded secrecy v0.6.0 [INFO] [stderr] Downloaded destructure_traitobject v0.2.0 [INFO] [stderr] Downloaded unsafe-any-ors v1.0.0 [INFO] [stderr] Downloaded grin_util v5.3.3 [INFO] [stderr] Downloaded mortal v0.2.4 [INFO] [stderr] Downloaded rpassword v4.0.5 [INFO] [stderr] Downloaded libgit2-sys v0.18.3+1.9.2 [INFO] [stderr] Downloaded grin_chain v5.3.3 [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] 6a2c62e005c1e280ab3bfcf00880b674a122c4102b6ffd58bd3db36637499f95 [INFO] running `Command { std: "docker" "start" "-a" "6a2c62e005c1e280ab3bfcf00880b674a122c4102b6ffd58bd3db36637499f95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a2c62e005c1e280ab3bfcf00880b674a122c4102b6ffd58bd3db36637499f95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a2c62e005c1e280ab3bfcf00880b674a122c4102b6ffd58bd3db36637499f95", kill_on_drop: false }` [INFO] [stdout] 6a2c62e005c1e280ab3bfcf00880b674a122c4102b6ffd58bd3db36637499f95 [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] ba166463c9e90262107b7ad18b7082394e4aa92a354bfd861736e9f184ba7732 [INFO] running `Command { std: "docker" "start" "-a" "ba166463c9e90262107b7ad18b7082394e4aa92a354bfd861736e9f184ba7732", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.161 [INFO] [stderr] Compiling serde v1.0.214 [INFO] [stderr] Compiling thiserror v1.0.66 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling syn v2.0.86 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Checking hashbrown v0.15.0 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Compiling anyhow v1.0.92 [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_jitter v0.1.4 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking object v0.36.5 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking ripemd160 v0.9.1 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling rustix v0.38.38 [INFO] [stderr] Compiling type-map v0.5.0 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling rust-embed-utils v7.8.1 [INFO] [stderr] Compiling self_cell v1.0.4 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling self_cell v0.10.3 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking blake2-rfc v0.2.18 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking parking_lot_core v0.7.3 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking thread-id v4.2.2 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking password-hash v0.2.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking num-rational v0.2.4 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Compiling liblmdb-sys v0.2.2 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking pbkdf2 v0.8.0 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Checking supercow v0.1.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking tempfile v3.13.0 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking poly1305 v0.7.2 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Compiling cc v1.1.31 [INFO] [stderr] Checking aead v0.4.3 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Checking salsa20 v0.9.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking pbkdf2 v0.10.1 [INFO] [stderr] Checking hkdf v0.11.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking strum v0.18.0 [INFO] [stderr] Checking scrypt v0.8.1 [INFO] [stderr] Compiling unicase v2.8.0 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking bs58 v0.3.1 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking encode_unicode v1.0.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking term v0.6.1 [INFO] [stderr] Checking qr_code v1.1.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking remove_dir_all v0.7.0 [INFO] [stderr] Checking term v0.7.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Checking phf_shared v0.11.2 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking smallstr v0.2.0 [INFO] [stderr] Checking nix v0.18.0 [INFO] [stderr] Checking dirs-next v1.0.2 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking semver-parser v0.7.0 [INFO] [stderr] Checking rpassword v4.0.5 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking pretty_assertions v0.6.1 [INFO] [stderr] Checking semver v0.10.0 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling grin_secp256k1zkp v0.7.14 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling croaring-sys v2.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling libz-sys v1.1.20 [INFO] [stderr] Compiling libgit2-sys v0.18.3+1.9.2 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling serde_derive v1.0.214 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling thiserror-impl v1.0.66 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling pin-project-internal v1.1.7 [INFO] [stderr] Checking zip v0.5.13 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Compiling rust-embed-impl v6.8.1 [INFO] [stderr] Compiling fluent-syntax v0.11.1 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking lmdb-zero v0.4.4 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking chacha20 v0.8.2 [INFO] [stderr] Checking secrecy v0.8.0 [INFO] [stderr] Checking x25519-dalek v1.1.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking curve25519-dalek v2.1.3 [INFO] [stderr] Checking chacha20poly1305 v0.9.1 [INFO] [stderr] Compiling rust-embed v6.8.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking secrecy v0.6.0 [INFO] [stderr] Compiling strum_macros v0.18.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking croaring v1.1.0 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking sysinfo v0.29.11 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking x25519-dalek v0.6.0 [INFO] [stderr] Compiling easy-jsonrpc-proc-macro-mw v0.5.1 [INFO] [stderr] Checking pin-project v1.1.7 [INFO] [stderr] Checking webpki v0.21.4 [INFO] [stderr] Checking sct v0.6.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking ct-logs v0.6.0 [INFO] [stderr] Checking webpki-roots v0.20.0 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling phf_codegen v0.11.2 [INFO] [stderr] Checking age-core v0.7.1 [INFO] [stderr] Compiling terminfo v0.8.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking unic-langid-impl v0.9.5 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking unic-langid v0.9.5 [INFO] [stderr] Compiling basic-toml v0.1.9 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking intl_pluralrules v7.0.2 [INFO] [stderr] Checking intl-memoizer v0.5.2 [INFO] [stderr] Checking fluent-langneg v0.13.0 [INFO] [stderr] Checking rustls v0.17.0 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking rustls v0.18.1 [INFO] [stderr] Checking prettytable-rs v0.10.0 [INFO] [stderr] Checking fluent-bundle v0.15.3 [INFO] [stderr] Checking rustyline v6.3.0 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking jsonrpc-core v10.1.0 [INFO] [stderr] Checking fluent v0.16.1 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Compiling find-crate v0.6.3 [INFO] [stderr] Compiling i18n-config v0.4.7 [INFO] [stderr] Checking log4rs v1.3.0 [INFO] [stderr] Checking timer v0.2.0 [INFO] [stderr] Checking mortal v0.2.4 [INFO] [stderr] Checking easy-jsonrpc-mw v0.5.4 [INFO] [stderr] Compiling i18n-embed-impl v0.8.4 [INFO] [stderr] Compiling i18n-embed v0.13.9 [INFO] [stderr] Checking linefeed v0.6.0 [INFO] [stderr] Compiling git2 v0.20.4 [INFO] [stderr] Checking rustls-native-certs v0.3.0 [INFO] [stderr] Checking grin_util v5.3.3 [INFO] [stderr] Compiling i18n-embed-fl v0.6.7 [INFO] [stderr] Checking grin_keychain v5.3.3 [INFO] [stderr] Checking grin_wallet_util v5.4.0-alpha.1 (/opt/rustwide/workdir/util) [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | impl<'a> ser::Serializer for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 66 - impl<'a> ser::Serializer for &'a mut ByteSerializer { [INFO] [stdout] 66 + impl ser::Serializer for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:66:6 [INFO] [stdout] | [INFO] [stdout] 66 | impl<'a> ser::Serializer for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 66 - impl<'a> ser::Serializer for &'a mut ByteSerializer { [INFO] [stdout] 66 + impl ser::Serializer for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 229 | impl<'a> ser::SerializeSeq for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 229 - impl<'a> ser::SerializeSeq for &'a mut ByteSerializer { [INFO] [stdout] 229 + impl ser::SerializeSeq for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:245:6 [INFO] [stdout] | [INFO] [stdout] 245 | impl<'a> ser::SerializeTuple for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 245 - impl<'a> ser::SerializeTuple for &'a mut ByteSerializer { [INFO] [stdout] 245 + impl ser::SerializeTuple for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:261:6 [INFO] [stdout] | [INFO] [stdout] 261 | impl<'a> ser::SerializeTupleStruct for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 261 - impl<'a> ser::SerializeTupleStruct for &'a mut ByteSerializer { [INFO] [stdout] 261 + impl ser::SerializeTupleStruct for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 229 | impl<'a> ser::SerializeSeq for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 229 - impl<'a> ser::SerializeSeq for &'a mut ByteSerializer { [INFO] [stdout] 229 + impl ser::SerializeSeq for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:277:6 [INFO] [stdout] | [INFO] [stdout] 277 | impl<'a> ser::SerializeTupleVariant for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 277 - impl<'a> ser::SerializeTupleVariant for &'a mut ByteSerializer { [INFO] [stdout] 277 + impl ser::SerializeTupleVariant for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:293:6 [INFO] [stdout] | [INFO] [stdout] 293 | impl<'a> ser::SerializeMap for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 293 - impl<'a> ser::SerializeMap for &'a mut ByteSerializer { [INFO] [stdout] 293 + impl ser::SerializeMap for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:245:6 [INFO] [stdout] | [INFO] [stdout] 245 | impl<'a> ser::SerializeTuple for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 245 - impl<'a> ser::SerializeTuple for &'a mut ByteSerializer { [INFO] [stdout] 245 + impl ser::SerializeTuple for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:316:6 [INFO] [stdout] | [INFO] [stdout] 316 | impl<'a> ser::SerializeStruct for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 316 - impl<'a> ser::SerializeStruct for &'a mut ByteSerializer { [INFO] [stdout] 316 + impl ser::SerializeStruct for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:261:6 [INFO] [stdout] | [INFO] [stdout] 261 | impl<'a> ser::SerializeTupleStruct for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 261 - impl<'a> ser::SerializeTupleStruct for &'a mut ByteSerializer { [INFO] [stdout] 261 + impl ser::SerializeTupleStruct for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:277:6 [INFO] [stdout] | [INFO] [stdout] 277 | impl<'a> ser::SerializeTupleVariant for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 277 - impl<'a> ser::SerializeTupleVariant for &'a mut ByteSerializer { [INFO] [stdout] 277 + impl ser::SerializeTupleVariant for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:293:6 [INFO] [stdout] | [INFO] [stdout] 293 | impl<'a> ser::SerializeMap for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 293 - impl<'a> ser::SerializeMap for &'a mut ByteSerializer { [INFO] [stdout] 293 + impl ser::SerializeMap for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:316:6 [INFO] [stdout] | [INFO] [stdout] 316 | impl<'a> ser::SerializeStruct for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 316 - impl<'a> ser::SerializeStruct for &'a mut ByteSerializer { [INFO] [stdout] 316 + impl ser::SerializeStruct for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:332:6 [INFO] [stdout] | [INFO] [stdout] 332 | impl<'a> ser::SerializeStructVariant for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 332 - impl<'a> ser::SerializeStructVariant for &'a mut ByteSerializer { [INFO] [stdout] 332 + impl ser::SerializeStructVariant for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:332:6 [INFO] [stdout] | [INFO] [stdout] 332 | impl<'a> ser::SerializeStructVariant for &'a mut ByteSerializer { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 332 - impl<'a> ser::SerializeStructVariant for &'a mut ByteSerializer { [INFO] [stdout] 332 + impl ser::SerializeStructVariant for &mut ByteSerializer { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:369:11 [INFO] [stdout] | [INFO] [stdout] 369 | impl<'de, 'a> de::Deserializer<'de> for &'a mut ByteDeserializer<'de> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 369 - impl<'de, 'a> de::Deserializer<'de> for &'a mut ByteDeserializer<'de> { [INFO] [stdout] 369 + impl<'de> de::Deserializer<'de> for &mut ByteDeserializer<'de> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> util/src/byte_ser.rs:369:11 [INFO] [stdout] | [INFO] [stdout] 369 | impl<'de, 'a> de::Deserializer<'de> for &'a mut ByteDeserializer<'de> { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 369 - impl<'de, 'a> de::Deserializer<'de> for &'a mut ByteDeserializer<'de> { [INFO] [stdout] 369 + impl<'de> de::Deserializer<'de> for &mut ByteDeserializer<'de> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking grin_core v5.3.3 [INFO] [stderr] Checking age v0.7.1 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking tokio-io-timeout v0.4.0 [INFO] [stderr] Checking tokio-rustls v0.14.1 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Checking tokio-rustls v0.13.1 [INFO] [stderr] Checking tokio-socks v0.3.0 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking grin_store v5.3.3 [INFO] [stderr] Checking grin_wallet_config v5.4.0-alpha.1 (/opt/rustwide/workdir/config) [INFO] [stderr] Checking grin_pool v5.3.3 [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> config/src/comments.rs:339:12 [INFO] [stdout] | [INFO] [stdout] 339 | 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] --> config/src/comments.rs:337:27 [INFO] [stdout] | [INFO] [stdout] 337 | 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] --> config/src/comments.rs:362:12 [INFO] [stdout] | [INFO] [stdout] 362 | 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] --> config/src/comments.rs:375:23 [INFO] [stdout] | [INFO] [stdout] 375 | 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] --> config/src/config.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | 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] --> config/src/config.rs:233:3 [INFO] [stdout] | [INFO] [stdout] 233 | 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] --> config/src/config.rs:232:3 [INFO] [stdout] | [INFO] [stdout] 232 | 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] --> config/src/config.rs:271:46 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn update_paths(&mut self, wallet_home: &PathBuf) { [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] 271 ~ pub fn update_paths(&mut self, wallet_home: &Path) { [INFO] [stdout] 272 ~ let mut wallet_path = wallet_home.to_path_buf(); [INFO] [stdout] 273 | wallet_path.push(GRIN_WALLET_DIR); [INFO] [stdout] 274 | self.members.as_mut().unwrap().wallet.data_file_dir = [INFO] [stdout] 275 | wallet_path.to_str().unwrap().to_owned(); [INFO] [stdout] 276 ~ let mut secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 277 | secret_path.push(OWNER_API_SECRET_FILE_NAME); [INFO] [stdout] 278 | self.members.as_mut().unwrap().wallet.api_secret_path = [INFO] [stdout] 279 | Some(secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 280 ~ let mut node_secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 281 | node_secret_path.push(API_SECRET_FILE_NAME); [INFO] [stdout] 282 | self.members.as_mut().unwrap().wallet.node_api_secret_path = [INFO] [stdout] 283 | Some(node_secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 284 ~ let mut log_path = wallet_home.to_path_buf(); [INFO] [stdout] 285 | log_path.push(WALLET_LOG_FILE_NAME); [INFO] [stdout] ... [INFO] [stdout] 292 | .log_file_path = log_path.to_str().unwrap().to_owned(); [INFO] [stdout] 293 ~ let tor_path = wallet_home.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> config/src/config.rs:342:6 [INFO] [stdout] | [INFO] [stdout] 342 | 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] --> config/src/config.rs:350:18 [INFO] [stdout] | [INFO] [stdout] 350 | ..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] --> config/src/types.rs:109:20 [INFO] [stdout] | [INFO] [stdout] 109 | .unwrap_or_else(|| WalletConfig::default_accept_fee_base()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `WalletConfig::default_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] [stderr] Compiling built v0.8.0 [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> config/src/types.rs:203:1 [INFO] [stdout] | [INFO] [stdout] 203 | / impl Default for TorBridgeConfig { [INFO] [stdout] 204 | | fn default() -> TorBridgeConfig { [INFO] [stdout] 205 | | TorBridgeConfig { [INFO] [stdout] 206 | | bridge_line: None, [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [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] 196 + #[derive(Default)] [INFO] [stdout] 197 | pub struct TorBridgeConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> config/src/types.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | / impl Default for TorProxyConfig { [INFO] [stdout] 234 | | fn default() -> TorProxyConfig { [INFO] [stdout] 235 | | TorProxyConfig { [INFO] [stdout] 236 | | transport: None, [INFO] [stdout] ... | [INFO] [stdout] 243 | | } [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] 220 + #[derive(Default)] [INFO] [stdout] 221 | pub struct TorProxyConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> config/src/comments.rs:339:12 [INFO] [stdout] | [INFO] [stdout] 339 | 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] --> config/src/comments.rs:337:27 [INFO] [stdout] | [INFO] [stdout] 337 | 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] --> config/src/comments.rs:362:12 [INFO] [stdout] | [INFO] [stdout] 362 | 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] --> config/src/comments.rs:375:23 [INFO] [stdout] | [INFO] [stdout] 375 | 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] [stderr] Checking grin_chain v5.3.3 [INFO] [stdout] warning: using `clone` on type `ChainTypes` which implements the `Copy` trait [INFO] [stdout] --> config/src/config.rs:214:30 [INFO] [stdout] | [INFO] [stdout] 214 | 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] --> config/src/config.rs:233:3 [INFO] [stdout] | [INFO] [stdout] 233 | 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] --> config/src/config.rs:232:3 [INFO] [stdout] | [INFO] [stdout] 232 | 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] --> config/src/config.rs:271:46 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn update_paths(&mut self, wallet_home: &PathBuf) { [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] 271 ~ pub fn update_paths(&mut self, wallet_home: &Path) { [INFO] [stdout] 272 ~ let mut wallet_path = wallet_home.to_path_buf(); [INFO] [stdout] 273 | wallet_path.push(GRIN_WALLET_DIR); [INFO] [stdout] 274 | self.members.as_mut().unwrap().wallet.data_file_dir = [INFO] [stdout] 275 | wallet_path.to_str().unwrap().to_owned(); [INFO] [stdout] 276 ~ let mut secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 277 | secret_path.push(OWNER_API_SECRET_FILE_NAME); [INFO] [stdout] 278 | self.members.as_mut().unwrap().wallet.api_secret_path = [INFO] [stdout] 279 | Some(secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 280 ~ let mut node_secret_path = wallet_home.to_path_buf(); [INFO] [stdout] 281 | node_secret_path.push(API_SECRET_FILE_NAME); [INFO] [stdout] 282 | self.members.as_mut().unwrap().wallet.node_api_secret_path = [INFO] [stdout] 283 | Some(node_secret_path.to_str().unwrap().to_owned()); [INFO] [stdout] 284 ~ let mut log_path = wallet_home.to_path_buf(); [INFO] [stdout] 285 | log_path.push(WALLET_LOG_FILE_NAME); [INFO] [stdout] ... [INFO] [stdout] 292 | .log_file_path = log_path.to_str().unwrap().to_owned(); [INFO] [stdout] 293 ~ let tor_path = wallet_home.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> config/src/config.rs:342:6 [INFO] [stdout] | [INFO] [stdout] 342 | 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] --> config/src/config.rs:350:18 [INFO] [stdout] | [INFO] [stdout] 350 | ..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] --> config/src/types.rs:109:20 [INFO] [stdout] | [INFO] [stdout] 109 | .unwrap_or_else(|| WalletConfig::default_accept_fee_base()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `WalletConfig::default_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] --> config/src/types.rs:203:1 [INFO] [stdout] | [INFO] [stdout] 203 | / impl Default for TorBridgeConfig { [INFO] [stdout] 204 | | fn default() -> TorBridgeConfig { [INFO] [stdout] 205 | | TorBridgeConfig { [INFO] [stdout] 206 | | bridge_line: None, [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [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] 196 + #[derive(Default)] [INFO] [stdout] 197 | pub struct TorBridgeConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> config/src/types.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | / impl Default for TorProxyConfig { [INFO] [stdout] 234 | | fn default() -> TorProxyConfig { [INFO] [stdout] 235 | | TorProxyConfig { [INFO] [stdout] 236 | | transport: None, [INFO] [stdout] ... | [INFO] [stdout] 243 | | } [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] 220 + #[derive(Default)] [INFO] [stdout] 221 | pub struct TorProxyConfig { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking grin_wallet_libwallet v5.4.0-alpha.1 (/opt/rustwide/workdir/libwallet) [INFO] [stderr] Compiling grin_wallet v5.4.0-alpha.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/build/build.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | use built; [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/build/build.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | .args(&["/C", &git_hooks]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `["/C", &git_hooks]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/build/build.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | .args(&["-c", &git_hooks]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `["-c", &git_hooks]` [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] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | use grin_core; [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: this import is redundant [INFO] [stdout] --> libwallet/src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use grin_keychain; [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] --> libwallet/src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | use grin_util; [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: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 49 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:57:23 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn receive_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 65 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn finalize_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn accounts<'a, T: ?Sized, C, K>(w: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 55 | where [INFO] [stdout] 56 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn create_account_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 70 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:78:31 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_active_account<'a, T: ?Sized, C, K>(w: &mut T, label: &str) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 79 | where [INFO] [stdout] 80 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:471:3 [INFO] [stdout] | [INFO] [stdout] 471 | amount: amount, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `amount` [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: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:472:3 [INFO] [stdout] | [INFO] [stdout] 472 | excess: excess, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `excess` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:481:25 [INFO] [stdout] | [INFO] [stdout] 481 | pub fn init_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 488 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:597:29 [INFO] [stdout] | [INFO] [stdout] 597 | pub fn issue_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 604 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:650:31 [INFO] [stdout] | [INFO] [stdout] 650 | pub fn process_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 658 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:771:28 [INFO] [stdout] | [INFO] [stdout] 771 | pub fn tx_lock_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 777 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:808:24 [INFO] [stdout] | [INFO] [stdout] 808 | pub fn finalize_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 814 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:851:26 [INFO] [stdout] | [INFO] [stdout] 851 | pub fn get_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 857 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1173:22 [INFO] [stdout] | [INFO] [stdout] 1173 | pub fn check_ttl<'a, T: ?Sized, C, K>(w: &mut T, slate: &Slate) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 1174 | where [INFO] [stdout] 1175 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1339:25 [INFO] [stdout] | [INFO] [stdout] 1339 | pub fn build_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1346 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1372:3 [INFO] [stdout] | [INFO] [stdout] 1372 | key_id: key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1373:3 [INFO] [stdout] | [INFO] [stdout] 1373 | output: output, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `output` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1378:31 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn create_mwixnet_req<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1387 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/error.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use grin_store; [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: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:22:31 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn next_available_key<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 27 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:36:34 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn retrieve_existing_key<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 42 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn accounts<'a, T: ?Sized, C, K>(wallet: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:63:26 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn new_acct_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/keys.rs:97:3 [INFO] [stdout] | [INFO] [stdout] 97 | label: label, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn set_acct_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 115 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/keys.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | label: label, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:162:3 [INFO] [stdout] | [INFO] [stdout] 162 | rewind_hash: rewind_hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rewind_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:345:3 [INFO] [stdout] | [INFO] [stdout] 345 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/internal/selection.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | / /// into our transaction context [INFO] [stdout] 39 | | [INFO] [stdout] | |_^ [INFO] [stdout] 40 | pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | -------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:40:26 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 57 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn lock_tx_context<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 131 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:248:35 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn build_recipient_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 258 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:303:3 [INFO] [stdout] | [INFO] [stdout] 303 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:306:3 [INFO] [stdout] | [INFO] [stdout] 306 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:320:27 [INFO] [stdout] | [INFO] [stdout] 320 | pub fn select_send_tx<'a, T: ?Sized, C, K, B>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 342 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:374:33 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn select_coins_and_fee<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 394 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:494:30 [INFO] [stdout] | [INFO] [stdout] 494 | pub fn inputs_and_change<'a, T: ?Sized, C, K, B>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 510 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/internal/selection.rs:572:1 [INFO] [stdout] | [INFO] [stdout] 572 | / /// TODO: Possibly move this into another trait to be owned by a wallet? [INFO] [stdout] 573 | | [INFO] [stdout] | |_^ [INFO] [stdout] 574 | pub fn select_coins<'a, T: ?Sized, C, K>( [INFO] [stdout] | ------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:574:25 [INFO] [stdout] | [INFO] [stdout] 574 | pub fn select_coins<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 585 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:670:26 [INFO] [stdout] | [INFO] [stdout] 670 | pub fn repopulate_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 678 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_tx_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 56 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:95:29 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn estimate_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 113 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn add_inputs_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 159 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:210:32 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn add_output_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 220 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:255:37 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn create_late_lock_context<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 265 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:303:24 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn complete_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 310 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:336:22 [INFO] [stdout] | [INFO] [stdout] 336 | pub fn cancel_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 344 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:387:29 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn update_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 395 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:509:39 [INFO] [stdout] | [INFO] [stdout] 509 | pub fn verify_slate_payment_proof<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 517 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn retrieve_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 52 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn apply_advanced_tx_list_filtering<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 103 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn retrieve_txs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 343 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:387:28 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn refresh_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 394 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:405:31 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn map_wallet_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 412 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:456:34 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn cancel_tx_and_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 464 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:493:30 [INFO] [stdout] | [INFO] [stdout] 493 | pub fn apply_api_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 503 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | fn refresh_output_state<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 623 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:657:30 [INFO] [stdout] | [INFO] [stdout] 657 | fn find_reverted_kernels<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 664 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:704:30 [INFO] [stdout] | [INFO] [stdout] 704 | fn clean_old_unconfirmed<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 710 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:737:26 [INFO] [stdout] | [INFO] [stdout] 737 | pub fn retrieve_info<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 743 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:803:27 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 810 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:825:29 [INFO] [stdout] | [INFO] [stdout] 825 | pub fn receive_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 832 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:859:4 [INFO] [stdout] | [INFO] [stdout] 859 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:862:4 [INFO] [stdout] | [INFO] [stdout] 862 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:863:4 [INFO] [stdout] | [INFO] [stdout] 863 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | /// use grin_wallet_libwallet::mwixnet::onion_util::write_optional; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | /// use grin_wallet_libwallet::mwixnet::onion_util::read_optional; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | /// use grin_wallet_libwallet::mwixnet::onion_util::vec_to_array; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/slate.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | use serde_json; [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: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | /// 0: plain [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | /// 1: coinbase (invalid) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:115:6 [INFO] [stdout] | [INFO] [stdout] 115 | /// 2: height_locked [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:116:6 [INFO] [stdout] | [INFO] [stdout] 116 | /// 3: NRD [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/slate.rs:507:4 [INFO] [stdout] | [INFO] [stdout] 507 | part_sig: part_sig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `part_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/slate.rs:605:2 [INFO] [stdout] | [INFO] [stdout] 605 | / /// Returns completed transaction ready for posting to the chain [INFO] [stdout] 606 | | [INFO] [stdout] | |_^ [INFO] [stdout] 607 | fn finalize_signature(&mut self, secp: &secp::Secp256k1) -> Result { [INFO] [stdout] | --------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/types.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | use serde; [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] --> libwallet/src/types.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | use serde_json; [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: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/types.rs:861:4 [INFO] [stdout] | [INFO] [stdout] 861 | parent_key_id: parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/types.rs:863:4 [INFO] [stdout] | [INFO] [stdout] 863 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | use grin_core; [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: this import is redundant [INFO] [stdout] --> libwallet/src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use grin_keychain; [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] --> libwallet/src/lib.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | use grin_util; [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: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 49 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:57:23 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn receive_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 65 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn finalize_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 143 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn accounts<'a, T: ?Sized, C, K>(w: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 55 | where [INFO] [stdout] 56 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn create_account_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 70 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:78:31 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn set_active_account<'a, T: ?Sized, C, K>(w: &mut T, label: &str) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 79 | where [INFO] [stdout] 80 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:471:3 [INFO] [stdout] | [INFO] [stdout] 471 | amount: amount, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `amount` [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: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:472:3 [INFO] [stdout] | [INFO] [stdout] 472 | excess: excess, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `excess` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:481:25 [INFO] [stdout] | [INFO] [stdout] 481 | pub fn init_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 488 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:597:29 [INFO] [stdout] | [INFO] [stdout] 597 | pub fn issue_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 604 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:650:31 [INFO] [stdout] | [INFO] [stdout] 650 | pub fn process_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 658 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:771:28 [INFO] [stdout] | [INFO] [stdout] 771 | pub fn tx_lock_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 777 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:808:24 [INFO] [stdout] | [INFO] [stdout] 808 | pub fn finalize_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 814 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:851:26 [INFO] [stdout] | [INFO] [stdout] 851 | pub fn get_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 857 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1173:22 [INFO] [stdout] | [INFO] [stdout] 1173 | pub fn check_ttl<'a, T: ?Sized, C, K>(w: &mut T, slate: &Slate) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 1174 | where [INFO] [stdout] 1175 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1339:25 [INFO] [stdout] | [INFO] [stdout] 1339 | pub fn build_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1346 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1372:3 [INFO] [stdout] | [INFO] [stdout] 1372 | key_id: key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1373:3 [INFO] [stdout] | [INFO] [stdout] 1373 | output: output, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `output` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1378:31 [INFO] [stdout] | [INFO] [stdout] 1378 | pub fn create_mwixnet_req<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1387 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/error.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use grin_store; [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: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:22:31 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn next_available_key<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 27 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:36:34 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn retrieve_existing_key<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 42 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn accounts<'a, T: ?Sized, C, K>(wallet: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:63:26 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn new_acct_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/keys.rs:97:3 [INFO] [stdout] | [INFO] [stdout] 97 | label: label, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/keys.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn set_acct_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 115 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/keys.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | label: label, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:162:3 [INFO] [stdout] | [INFO] [stdout] 162 | rewind_hash: rewind_hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rewind_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/scan.rs:345:3 [INFO] [stdout] | [INFO] [stdout] 345 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/internal/selection.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | / /// into our transaction context [INFO] [stdout] 39 | | [INFO] [stdout] | |_^ [INFO] [stdout] 40 | pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | -------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:40:26 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 57 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:122:28 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn lock_tx_context<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 131 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 224 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 228 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:248:35 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn build_recipient_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 258 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:303:3 [INFO] [stdout] | [INFO] [stdout] 303 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/selection.rs:306:3 [INFO] [stdout] | [INFO] [stdout] 306 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:320:27 [INFO] [stdout] | [INFO] [stdout] 320 | pub fn select_send_tx<'a, T: ?Sized, C, K, B>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 342 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:374:33 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn select_coins_and_fee<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 394 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:494:30 [INFO] [stdout] | [INFO] [stdout] 494 | pub fn inputs_and_change<'a, T: ?Sized, C, K, B>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 510 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/internal/selection.rs:572:1 [INFO] [stdout] | [INFO] [stdout] 572 | / /// TODO: Possibly move this into another trait to be owned by a wallet? [INFO] [stdout] 573 | | [INFO] [stdout] | |_^ [INFO] [stdout] 574 | pub fn select_coins<'a, T: ?Sized, C, K>( [INFO] [stdout] | ------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:574:25 [INFO] [stdout] | [INFO] [stdout] 574 | pub fn select_coins<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 585 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/selection.rs:670:26 [INFO] [stdout] | [INFO] [stdout] 670 | pub fn repopulate_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 678 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_tx_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 56 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:95:29 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn estimate_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 113 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn add_inputs_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 159 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:210:32 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn add_output_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 220 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:255:37 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn create_late_lock_context<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 265 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:303:24 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn complete_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 310 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:336:22 [INFO] [stdout] | [INFO] [stdout] 336 | pub fn cancel_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 344 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:387:29 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn update_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 395 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/tx.rs:509:39 [INFO] [stdout] | [INFO] [stdout] 509 | pub fn verify_slate_payment_proof<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 517 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn retrieve_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 52 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn apply_advanced_tx_list_filtering<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 103 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | pub fn retrieve_txs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 343 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:387:28 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn refresh_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 394 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:405:31 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn map_wallet_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 412 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:456:34 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn cancel_tx_and_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 464 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:493:30 [INFO] [stdout] | [INFO] [stdout] 493 | pub fn apply_api_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 503 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | fn refresh_output_state<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 623 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:657:30 [INFO] [stdout] | [INFO] [stdout] 657 | fn find_reverted_kernels<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 664 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:704:30 [INFO] [stdout] | [INFO] [stdout] 704 | fn clean_old_unconfirmed<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 710 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:737:26 [INFO] [stdout] | [INFO] [stdout] 737 | pub fn retrieve_info<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 743 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:803:27 [INFO] [stdout] | [INFO] [stdout] 803 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 810 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> libwallet/src/internal/updater.rs:825:29 [INFO] [stdout] | [INFO] [stdout] 825 | pub fn receive_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 832 | T: WalletBackend<'a, C, K>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:859:4 [INFO] [stdout] | [INFO] [stdout] 859 | commit: commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:862:4 [INFO] [stdout] | [INFO] [stdout] 862 | height: height, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/internal/updater.rs:863:4 [INFO] [stdout] | [INFO] [stdout] 863 | lock_height: lock_height, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | /// use grin_wallet_libwallet::mwixnet::onion_util::write_optional; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] = note: `#[warn(clippy::tabs_in_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:78:4 [INFO] [stdout] | [INFO] [stdout] 78 | /// use grin_wallet_libwallet::mwixnet::onion_util::read_optional; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | /// use grin_wallet_libwallet::mwixnet::onion_util::vec_to_array; [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/slate.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | use serde_json; [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: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:113:6 [INFO] [stdout] | [INFO] [stdout] 113 | /// 0: plain [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:114:6 [INFO] [stdout] | [INFO] [stdout] 114 | /// 1: coinbase (invalid) [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:115:6 [INFO] [stdout] | [INFO] [stdout] 115 | /// 2: height_locked [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using tabs in doc comments is not recommended [INFO] [stdout] --> libwallet/src/slate.rs:116:6 [INFO] [stdout] | [INFO] [stdout] 116 | /// 3: NRD [INFO] [stdout] | ^^^^ help: consider using four spaces per tab [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#tabs_in_doc_comments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/slate.rs:507:4 [INFO] [stdout] | [INFO] [stdout] 507 | part_sig: part_sig, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `part_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> libwallet/src/slate.rs:605:2 [INFO] [stdout] | [INFO] [stdout] 605 | / /// Returns completed transaction ready for posting to the chain [INFO] [stdout] 606 | | [INFO] [stdout] | |_^ [INFO] [stdout] 607 | fn finalize_signature(&mut self, secp: &secp::Secp256k1) -> Result { [INFO] [stdout] | --------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> libwallet/src/types.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | use serde; [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] --> libwallet/src/types.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | use serde_json; [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: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/types.rs:861:4 [INFO] [stdout] | [INFO] [stdout] 861 | parent_key_id: parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> libwallet/src/types.rs:863:4 [INFO] [stdout] | [INFO] [stdout] 863 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking grin_p2p v5.3.3 [INFO] [stderr] Checking hyper v0.13.10 [INFO] [stdout] warning: struct `DalekSignature` is never constructed [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct DalekSignature(Signature); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_hex` and `verify` are never used [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 123 | impl DalekSignature { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 124 | /// Convert hex string to DalekSignature. [INFO] [stdout] 125 | pub fn from_hex(hex: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn verify(&self, pk: &DalekPublicKey, msg: &[u8]) -> Result<(), DalekError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/address.rs:46:3 [INFO] [stdout] | [INFO] [stdout] 46 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> libwallet/src/address.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | &hashed.as_bytes()[..], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use the original value instead: `hashed.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `tx::update_stored_tx` doesn't need a mutable reference [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:160:58 [INFO] [stdout] | [INFO] [stdout] 160 | tx::update_stored_tx(&mut *w, keychain_mask, &context, &mut sl, true)?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 160 - tx::update_stored_tx(&mut *w, keychain_mask, &context, &mut sl, true)?; [INFO] [stdout] 160 + tx::update_stored_tx(&mut *w, keychain_mask, &context, &sl, true)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:154:15 [INFO] [stdout] | [INFO] [stdout] 154 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:181:15 [INFO] [stdout] | [INFO] [stdout] 181 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:198:3 [INFO] [stdout] | [INFO] [stdout] 198 | return packer.get_slate(&slatepack); [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] 198 - return packer.get_slate(&slatepack); [INFO] [stdout] 198 + packer.get_slate(&slatepack) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:220:3 [INFO] [stdout] | [INFO] [stdout] 220 | / return Err(Error::SlatepackDecryption( [INFO] [stdout] 221 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 | | .to_owned(), [INFO] [stdout] 223 | | ) [INFO] [stdout] 224 | | .into()); [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] 220 ~ Err(Error::SlatepackDecryption( [INFO] [stdout] 221 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 ~ .to_owned(), [INFO] [stdout] 223 ~ ) [INFO] [stdout] 224 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:209:14 [INFO] [stdout] | [INFO] [stdout] 209 | dec_key: (&dec_key).as_ref(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `dec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:220:14 [INFO] [stdout] | [INFO] [stdout] 220 | return Err(Error::SlatepackDecryption( [INFO] [stdout] | ____________________^ [INFO] [stdout] 221 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 | | .to_owned(), [INFO] [stdout] 223 | | ) [INFO] [stdout] 224 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 220 ~ return Err(Error::SlatepackDecryption( [INFO] [stdout] 221 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 ~ .to_owned(), [INFO] [stdout] 223 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:259:14 [INFO] [stdout] | [INFO] [stdout] 259 | dec_key: (&dec_key).as_ref(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `dec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:276:15 [INFO] [stdout] | [INFO] [stdout] 276 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:316:15 [INFO] [stdout] | [INFO] [stdout] 316 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:356:15 [INFO] [stdout] | [INFO] [stdout] 356 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:386:15 [INFO] [stdout] | [INFO] [stdout] 386 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:786:5 [INFO] [stdout] | [INFO] [stdout] 786 | if sl.tx == None { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `sl.tx.is_none()` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:823:15 [INFO] [stdout] | [INFO] [stdout] 823 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:919:15 [INFO] [stdout] | [INFO] [stdout] 919 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:932:13 [INFO] [stdout] | [INFO] [stdout] 932 | let msg = format!("Invalid Rewind Hash"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid Rewind Hash".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: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:941:21 [INFO] [stdout] | [INFO] [stdout] 941 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 942 | | Some(h) => h, [INFO] [stdout] 943 | | None => 1, [INFO] [stdout] 944 | | }; [INFO] [stdout] | |_____^ help: replace with: `start_height.unwrap_or(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:977:21 [INFO] [stdout] | [INFO] [stdout] 977 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 978 | | Some(h) => h, [INFO] [stdout] 979 | | None => 1, [INFO] [stdout] 980 | | }; [INFO] [stdout] | |_____^ help: replace with: `start_height.unwrap_or(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1002:15 [INFO] [stdout] | [INFO] [stdout] 1002 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1022:17 [INFO] [stdout] | [INFO] [stdout] 1022 | let height = match outputs.1.iter().map(|m| m.output.height).max() { [INFO] [stdout] | __________________________^ [INFO] [stdout] 1023 | | Some(height) => height, [INFO] [stdout] 1024 | | None => 0, [INFO] [stdout] 1025 | | }; [INFO] [stdout] | |_____________^ help: ascribe the type u64 and replace your expression with: `outputs.1.iter().map(|m| m.output.height).max().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1037:15 [INFO] [stdout] | [INFO] [stdout] 1037 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1181:2 [INFO] [stdout] | [INFO] [stdout] 1181 | / if slate.ttl_cutoff_height != 0 { [INFO] [stdout] 1182 | | if last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1183 | | return Err(Error::TransactionExpired); [INFO] [stdout] 1184 | | } [INFO] [stdout] 1185 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1181 ~ if slate.ttl_cutoff_height != 0 [INFO] [stdout] 1182 ~ && last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1183 | return Err(Error::TransactionExpired); [INFO] [stdout] 1184 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1192:15 [INFO] [stdout] | [INFO] [stdout] 1192 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1261:15 [INFO] [stdout] | [INFO] [stdout] 1261 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1285:15 [INFO] [stdout] | [INFO] [stdout] 1285 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1287:7 [INFO] [stdout] | [INFO] [stdout] 1287 | txs: &mut Vec, [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] 1287 - txs: &mut Vec, [INFO] [stdout] 1287 + txs: &mut [TxLogEntry], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1428:65 [INFO] [stdout] | [INFO] [stdout] 1428 | .split(&BlindingFactor::from_secret_key(input_blind.clone()), &secp)?; [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1436:21 [INFO] [stdout] | [INFO] [stdout] 1436 | server_pubkey: p.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1437:35 [INFO] [stdout] | [INFO] [stdout] 1437 | excess: blind_sum.secret_key(&secp).unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `RangeProof` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1439:23 [INFO] [stdout] | [INFO] [stdout] 1439 | rangeproof: Some(new_output.output.proof.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_output.output.proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1442:5 [INFO] [stdout] | [INFO] [stdout] 1442 | let hop_excess; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `hop_excess` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 1442 ~ [INFO] [stdout] 1443 ~ let hop_excess = if use_test_rng { [INFO] [stdout] 1444 ~ BlindingFactor::zero() [INFO] [stdout] 1445 | } else { [INFO] [stdout] 1446 ~ BlindingFactor::rand(&secp) [INFO] [stdout] 1447 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1446:40 [INFO] [stdout] | [INFO] [stdout] 1446 | hop_excess = BlindingFactor::rand(&secp); [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1448:46 [INFO] [stdout] | [INFO] [stdout] 1448 | blind_sum = blind_sum.split(&hop_excess, &secp).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1450:21 [INFO] [stdout] | [INFO] [stdout] 1450 | server_pubkey: p.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1451:36 [INFO] [stdout] | [INFO] [stdout] 1451 | excess: hop_excess.secret_key(&secp).unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1459:27 [INFO] [stdout] | [INFO] [stdout] 1459 | let onion = create_onion(&commitment, &hops, use_test_rng).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/address.rs:46:3 [INFO] [stdout] | [INFO] [stdout] 46 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> libwallet/src/address.rs:47:3 [INFO] [stdout] | [INFO] [stdout] 47 | &hashed.as_bytes()[..], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use the original value instead: `hashed.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `tx::update_stored_tx` doesn't need a mutable reference [INFO] [stdout] --> libwallet/src/api_impl/foreign.rs:160:58 [INFO] [stdout] | [INFO] [stdout] 160 | tx::update_stored_tx(&mut *w, keychain_mask, &context, &mut sl, true)?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 160 - tx::update_stored_tx(&mut *w, keychain_mask, &context, &mut sl, true)?; [INFO] [stdout] 160 + tx::update_stored_tx(&mut *w, keychain_mask, &context, &sl, true)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:134:6 [INFO] [stdout] | [INFO] [stdout] 134 | (&keychain_mask).as_ref(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain_mask` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:154:15 [INFO] [stdout] | [INFO] [stdout] 154 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:181:15 [INFO] [stdout] | [INFO] [stdout] 181 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:198:3 [INFO] [stdout] | [INFO] [stdout] 198 | return packer.get_slate(&slatepack); [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] 198 - return packer.get_slate(&slatepack); [INFO] [stdout] 198 + packer.get_slate(&slatepack) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:220:3 [INFO] [stdout] | [INFO] [stdout] 220 | / return Err(Error::SlatepackDecryption( [INFO] [stdout] 221 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 | | .to_owned(), [INFO] [stdout] 223 | | ) [INFO] [stdout] 224 | | .into()); [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] 220 ~ Err(Error::SlatepackDecryption( [INFO] [stdout] 221 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 ~ .to_owned(), [INFO] [stdout] 223 ~ ) [INFO] [stdout] 224 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:209:14 [INFO] [stdout] | [INFO] [stdout] 209 | dec_key: (&dec_key).as_ref(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `dec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:220:14 [INFO] [stdout] | [INFO] [stdout] 220 | return Err(Error::SlatepackDecryption( [INFO] [stdout] | ____________________^ [INFO] [stdout] 221 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 | | .to_owned(), [INFO] [stdout] 223 | | ) [INFO] [stdout] 224 | | .into()); [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 220 ~ return Err(Error::SlatepackDecryption( [INFO] [stdout] 221 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 222 ~ .to_owned(), [INFO] [stdout] 223 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:259:14 [INFO] [stdout] | [INFO] [stdout] 259 | dec_key: (&dec_key).as_ref(), [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `dec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:276:15 [INFO] [stdout] | [INFO] [stdout] 276 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:316:15 [INFO] [stdout] | [INFO] [stdout] 316 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:356:15 [INFO] [stdout] | [INFO] [stdout] 356 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:386:15 [INFO] [stdout] | [INFO] [stdout] 386 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:786:5 [INFO] [stdout] | [INFO] [stdout] 786 | if sl.tx == None { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `sl.tx.is_none()` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:823:15 [INFO] [stdout] | [INFO] [stdout] 823 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:919:15 [INFO] [stdout] | [INFO] [stdout] 919 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> libwallet/src/api_impl/types.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / impl Default for IssueInvoiceTxArgs { [INFO] [stdout] 145 | | fn default() -> IssueInvoiceTxArgs { [INFO] [stdout] 146 | | IssueInvoiceTxArgs { [INFO] [stdout] 147 | | dest_acct_name: None, [INFO] [stdout] ... | [INFO] [stdout] 152 | | } [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] 130 + #[derive(Default)] [INFO] [stdout] 131 | pub struct IssueInvoiceTxArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:932:13 [INFO] [stdout] | [INFO] [stdout] 932 | let msg = format!("Invalid Rewind Hash"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Invalid Rewind Hash".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: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:941:21 [INFO] [stdout] | [INFO] [stdout] 941 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 942 | | Some(h) => h, [INFO] [stdout] 943 | | None => 1, [INFO] [stdout] 944 | | }; [INFO] [stdout] | |_____^ help: replace with: `start_height.unwrap_or(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:977:21 [INFO] [stdout] | [INFO] [stdout] 977 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 978 | | Some(h) => h, [INFO] [stdout] 979 | | None => 1, [INFO] [stdout] 980 | | }; [INFO] [stdout] | |_____^ help: replace with: `start_height.unwrap_or(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1002:15 [INFO] [stdout] | [INFO] [stdout] 1002 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1022:17 [INFO] [stdout] | [INFO] [stdout] 1022 | let height = match outputs.1.iter().map(|m| m.output.height).max() { [INFO] [stdout] | __________________________^ [INFO] [stdout] 1023 | | Some(height) => height, [INFO] [stdout] 1024 | | None => 0, [INFO] [stdout] 1025 | | }; [INFO] [stdout] | |_____________^ help: ascribe the type u64 and replace your expression with: `outputs.1.iter().map(|m| m.output.height).max().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1037:15 [INFO] [stdout] | [INFO] [stdout] 1037 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1181:2 [INFO] [stdout] | [INFO] [stdout] 1181 | / if slate.ttl_cutoff_height != 0 { [INFO] [stdout] 1182 | | if last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1183 | | return Err(Error::TransactionExpired); [INFO] [stdout] 1184 | | } [INFO] [stdout] 1185 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1181 ~ if slate.ttl_cutoff_height != 0 [INFO] [stdout] 1182 ~ && last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1183 | return Err(Error::TransactionExpired); [INFO] [stdout] 1184 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1192:15 [INFO] [stdout] | [INFO] [stdout] 1192 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1261:15 [INFO] [stdout] | [INFO] [stdout] 1261 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1285:15 [INFO] [stdout] | [INFO] [stdout] 1285 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1287:7 [INFO] [stdout] | [INFO] [stdout] 1287 | txs: &mut Vec, [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] 1287 - txs: &mut Vec, [INFO] [stdout] 1287 + txs: &mut [TxLogEntry], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1428:65 [INFO] [stdout] | [INFO] [stdout] 1428 | .split(&BlindingFactor::from_secret_key(input_blind.clone()), &secp)?; [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1436:21 [INFO] [stdout] | [INFO] [stdout] 1436 | server_pubkey: p.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1437:35 [INFO] [stdout] | [INFO] [stdout] 1437 | excess: blind_sum.secret_key(&secp).unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `RangeProof` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1439:23 [INFO] [stdout] | [INFO] [stdout] 1439 | rangeproof: Some(new_output.output.proof.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `new_output.output.proof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1442:5 [INFO] [stdout] | [INFO] [stdout] 1442 | let hop_excess; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `hop_excess` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 1442 ~ [INFO] [stdout] 1443 ~ let hop_excess = if use_test_rng { [INFO] [stdout] 1444 ~ BlindingFactor::zero() [INFO] [stdout] 1445 | } else { [INFO] [stdout] 1446 ~ BlindingFactor::rand(&secp) [INFO] [stdout] 1447 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1446:40 [INFO] [stdout] | [INFO] [stdout] 1446 | hop_excess = BlindingFactor::rand(&secp); [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1448:46 [INFO] [stdout] | [INFO] [stdout] 1448 | blind_sum = blind_sum.split(&hop_excess, &secp).unwrap(); [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1450:21 [INFO] [stdout] | [INFO] [stdout] 1450 | server_pubkey: p.clone(), [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1451:36 [INFO] [stdout] | [INFO] [stdout] 1451 | excess: hop_excess.secret_key(&secp).unwrap(), [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/api_impl/owner.rs:1459:27 [INFO] [stdout] | [INFO] [stdout] 1459 | let onion = create_onion(&commitment, &hops, use_test_rng).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/api_impl/owner_updater.rs:134:6 [INFO] [stdout] | [INFO] [stdout] 134 | (&keychain_mask).as_ref(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain_mask` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> libwallet/src/api_impl/types.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / impl Default for IssueInvoiceTxArgs { [INFO] [stdout] 145 | | fn default() -> IssueInvoiceTxArgs { [INFO] [stdout] 146 | | IssueInvoiceTxArgs { [INFO] [stdout] 147 | | dest_acct_name: None, [INFO] [stdout] ... | [INFO] [stdout] 152 | | } [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] 130 + #[derive(Default)] [INFO] [stdout] 131 | pub struct IssueInvoiceTxArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:39:2 [INFO] [stdout] | [INFO] [stdout] 39 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] = note: `#[warn(clippy::empty_docs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:41:2 [INFO] [stdout] | [INFO] [stdout] 41 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:43:2 [INFO] [stdout] | [INFO] [stdout] 43 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:45:2 [INFO] [stdout] | [INFO] [stdout] 45 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:47:2 [INFO] [stdout] | [INFO] [stdout] 47 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:49:2 [INFO] [stdout] | [INFO] [stdout] 49 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:51:2 [INFO] [stdout] | [INFO] [stdout] 51 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:53:2 [INFO] [stdout] | [INFO] [stdout] 53 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:61:2 [INFO] [stdout] | [INFO] [stdout] 61 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:63:2 [INFO] [stdout] | [INFO] [stdout] 63 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:65:2 [INFO] [stdout] | [INFO] [stdout] 65 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:279:1 [INFO] [stdout] | [INFO] [stdout] 279 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:281:15 [INFO] [stdout] | [INFO] [stdout] 281 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:363:1 [INFO] [stdout] | [INFO] [stdout] 363 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:365:15 [INFO] [stdout] | [INFO] [stdout] 365 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:410:15 [INFO] [stdout] | [INFO] [stdout] 410 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:458:15 [INFO] [stdout] | [INFO] [stdout] 458 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/scan.rs:624:51 [INFO] [stdout] | [INFO] [stdout] 624 | let current_child_index = w.current_child_index(&path)?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] 41 | | wallet: &mut T, [INFO] [stdout] 42 | | keychain: &K, [INFO] [stdout] 43 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] ... | [INFO] [stdout] 58 | | C: NodeClient + 'a, [INFO] [stdout] 59 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> libwallet/src/internal/selection.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Transaction amount is too small to include fee")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/internal/selection.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Transaction amount is too small to include fee".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | context.add_output(&id, &mmr_index, *change_amount); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | context.add_output(&id, &mmr_index, *change_amount); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `mmr_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:113:64 [INFO] [stdout] | [INFO] [stdout] 113 | wallet.calc_commit_for_cache(keychain_mask, *change_amount, &id)?, [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:142:65 [INFO] [stdout] | [INFO] [stdout] 142 | wallet.calc_commit_for_cache(keychain_mask, *change_amount, &id)?, [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> libwallet/src/internal/selection.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | return Err(Error::PaymentProof( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 195 | | "Payment proof derivation index required".to_owned(), [INFO] [stdout] 196 | | ) [INFO] [stdout] 197 | | .into()); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 194 ~ return Err(Error::PaymentProof( [INFO] [stdout] 195 ~ "Payment proof derivation index required".to_owned(), [INFO] [stdout] 196 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:218:53 [INFO] [stdout] | [INFO] [stdout] 218 | let (commit, change_amount) = output_commits.get(&id).unwrap().clone(); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/selection.rs:332:6 [INFO] [stdout] | [INFO] [stdout] 332 | ) -> Result< [INFO] [stdout] | ______^ [INFO] [stdout] 333 | | ( [INFO] [stdout] 334 | | Vec>>, [INFO] [stdout] 335 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 339 | | Error, [INFO] [stdout] 340 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:320:1 [INFO] [stdout] | [INFO] [stdout] 320 | / pub fn select_send_tx<'a, T: ?Sized, C, K, B>( [INFO] [stdout] 321 | | wallet: &mut T, [INFO] [stdout] 322 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 323 | | amount: u64, [INFO] [stdout] ... | [INFO] [stdout] 344 | | K: Keychain + 'a, [INFO] [stdout] 345 | | B: ProofBuild, [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:356:3 [INFO] [stdout] | [INFO] [stdout] 356 | &parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | / pub fn select_coins_and_fee<'a, T: ?Sized, C, K>( [INFO] [stdout] 375 | | wallet: &mut T, [INFO] [stdout] 376 | | amount: u64, [INFO] [stdout] 377 | | amount_includes_fee: bool, [INFO] [stdout] ... | [INFO] [stdout] 395 | | C: NodeClient + 'a, [INFO] [stdout] 396 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> libwallet/src/internal/selection.rs:456:17 [INFO] [stdout] | [INFO] [stdout] 456 | available: total as u64, [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `total` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> libwallet/src/internal/selection.rs:486:4 [INFO] [stdout] | [INFO] [stdout] 486 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Transaction amount is too small to include fee")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/internal/selection.rs:486:4 [INFO] [stdout] | [INFO] [stdout] 486 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Transaction amount is too small to include fee".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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/selection.rs:502:6 [INFO] [stdout] | [INFO] [stdout] 502 | ) -> Result< [INFO] [stdout] | ______^ [INFO] [stdout] 503 | | ( [INFO] [stdout] 504 | | Vec>>, [INFO] [stdout] 505 | | Vec<(u64, Identifier, Option)>, [INFO] [stdout] 506 | | ), [INFO] [stdout] 507 | | Error, [INFO] [stdout] 508 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:693:40 [INFO] [stdout] | [INFO] [stdout] 693 | slate.add_participant_info(&keychain, &context, None)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `context` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> libwallet/src/internal/tx.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / pub fn estimate_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] 96 | | wallet: &mut T, [INFO] [stdout] 97 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 98 | | amount: u64, [INFO] [stdout] ... | [INFO] [stdout] 114 | | C: NodeClient + 'a, [INFO] [stdout] 115 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> libwallet/src/internal/tx.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / pub fn add_inputs_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] 145 | | wallet: &mut T, [INFO] [stdout] 146 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 147 | | slate: &mut Slate, [INFO] [stdout] ... | [INFO] [stdout] 160 | | C: NodeClient + 'a, [INFO] [stdout] 161 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:247:39 [INFO] [stdout] | [INFO] [stdout] 247 | batch.save_tx_log_entry(tx.clone(), &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:283:3 [INFO] [stdout] | [INFO] [stdout] 283 | &parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:290:50 [INFO] [stdout] | [INFO] [stdout] 290 | let mut context = Context::new(keychain.secp(), &parent_key_id, use_test_rng, true); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:359:8 [INFO] [stdout] | [INFO] [stdout] 359 | Some(&parent_key_id), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | Some(&parent_key_id), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> libwallet/src/internal/tx.rs:424:26 [INFO] [stdout] | [INFO] [stdout] 424 | let derivation_index = match context.payment_proof_derivation_index { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 425 | | Some(i) => i, [INFO] [stdout] 426 | | None => 0, [INFO] [stdout] 427 | | }; [INFO] [stdout] | |_________^ help: replace it with: `context.payment_proof_derivation_index.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `commit_bytes` [INFO] [stdout] --> libwallet/src/internal/tx.rs:471:11 [INFO] [stdout] | [INFO] [stdout] 471 | for i in 0..33 { [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] 471 - for i in 0..33 { [INFO] [stdout] 471 + for in &mut commit_bytes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `sender_address_bytes` [INFO] [stdout] --> libwallet/src/internal/tx.rs:475:11 [INFO] [stdout] | [INFO] [stdout] 475 | for i in 0..32 { [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] 475 - for i in 0..32 { [INFO] [stdout] 475 + for in &mut sender_address_bytes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:577:23 [INFO] [stdout] | [INFO] [stdout] 577 | &slate.calc_excess(&keychain.secp())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:39:2 [INFO] [stdout] | [INFO] [stdout] 39 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] = note: `#[warn(clippy::empty_docs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:41:2 [INFO] [stdout] | [INFO] [stdout] 41 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:43:2 [INFO] [stdout] | [INFO] [stdout] 43 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:45:2 [INFO] [stdout] | [INFO] [stdout] 45 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:47:2 [INFO] [stdout] | [INFO] [stdout] 47 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:49:2 [INFO] [stdout] | [INFO] [stdout] 49 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:51:2 [INFO] [stdout] | [INFO] [stdout] 51 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:53:2 [INFO] [stdout] | [INFO] [stdout] 53 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:61:2 [INFO] [stdout] | [INFO] [stdout] 61 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:63:2 [INFO] [stdout] | [INFO] [stdout] 63 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:65:2 [INFO] [stdout] | [INFO] [stdout] 65 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> libwallet/src/internal/updater.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | / match s { [INFO] [stdout] 319 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 320 | | _ => {} [INFO] [stdout] 321 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> libwallet/src/internal/updater.rs:317:14 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(ref s) = query_args.sort_order { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 318 | match s { [INFO] [stdout] 319 | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> libwallet/src/internal/updater.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | / match s { [INFO] [stdout] 319 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 320 | | _ => {} [INFO] [stdout] 321 | | } [INFO] [stdout] | |_________^ help: try: `if let RetrieveTxQuerySortOrder::Desc = s { return_txs.reverse() }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:279:1 [INFO] [stdout] | [INFO] [stdout] 279 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:281:15 [INFO] [stdout] | [INFO] [stdout] 281 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query_args` after checking its variant with `is_some` [INFO] [stdout] --> libwallet/src/internal/updater.rs:351:66 [INFO] [stdout] | [INFO] [stdout] 350 | if query_args.is_some() && tx_id.is_none() && tx_slate_id.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 351 | txs = apply_advanced_tx_list_filtering(wallet, parent_key_id, &query_args.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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:410:6 [INFO] [stdout] | [INFO] [stdout] 410 | ) -> Result, Option, bool)>, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/internal/scan.rs:363:1 [INFO] [stdout] | [INFO] [stdout] 363 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:365:15 [INFO] [stdout] | [INFO] [stdout] 365 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:423:63 [INFO] [stdout] | [INFO] [stdout] 423 | let tx_entries = retrieve_txs(wallet, None, None, None, Some(&parent_key_id), true)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:410:15 [INFO] [stdout] | [INFO] [stdout] 410 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:496:18 [INFO] [stdout] | [INFO] [stdout] 496 | wallet_outputs: &HashMap, Option, bool)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/scan.rs:458:15 [INFO] [stdout] | [INFO] [stdout] 458 | wallet_inst: Arc>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:525:27 [INFO] [stdout] | [INFO] [stdout] 525 | match api_outputs.get(&commit) { [INFO] [stdout] | ^^^^^^^ help: change this to: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:550:35 [INFO] [stdout] | [INFO] [stdout] 550 | ... batch.save_tx_log_entry(t, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:570:36 [INFO] [stdout] | [INFO] [stdout] 570 | ... batch.save_tx_log_entry(t, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/internal/updater.rs:596:25 [INFO] [stdout] | [INFO] [stdout] 596 | tx.reverted_after = tx.confirmation_ts.clone().and_then(|t| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `tx.confirmation_ts` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:601:33 [INFO] [stdout] | [INFO] [stdout] 601 | batch.save_tx_log_entry(tx, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:659:18 [INFO] [stdout] | [INFO] [stdout] 659 | wallet_outputs: &HashMap, Option, bool)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/scan.rs:624:51 [INFO] [stdout] | [INFO] [stdout] 624 | let current_child_index = w.current_child_index(&path)?; [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub fn build_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] 41 | | wallet: &mut T, [INFO] [stdout] 42 | | keychain: &K, [INFO] [stdout] 43 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] ... | [INFO] [stdout] 58 | | C: NodeClient + 'a, [INFO] [stdout] 59 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> libwallet/src/internal/selection.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Transaction amount is too small to include fee")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/internal/selection.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Transaction amount is too small to include fee".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | context.add_output(&id, &mmr_index, *change_amount); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:110:27 [INFO] [stdout] | [INFO] [stdout] 110 | context.add_output(&id, &mmr_index, *change_amount); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `mmr_index` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:113:64 [INFO] [stdout] | [INFO] [stdout] 113 | wallet.calc_commit_for_cache(keychain_mask, *change_amount, &id)?, [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | &msg, [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:118:47 [INFO] [stdout] | [INFO] [stdout] 118 | let e = ComSignature::calc_challenge(&secp, &commit, &self.pub_nonce, &msg, false)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:118:73 [INFO] [stdout] | [INFO] [stdout] 118 | let e = ComSignature::calc_challenge(&secp, &commit, &self.pub_nonce, &msg, false)?; [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:142:65 [INFO] [stdout] | [INFO] [stdout] 142 | wallet.calc_commit_for_cache(keychain_mask, *change_amount, &id)?, [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:121:60 [INFO] [stdout] | [INFO] [stdout] 121 | let commits = vec![Commitment::from_pubkey(&secp, &ce)?, self.pub_nonce.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.pub_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | msg: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 135 - msg: &Vec, [INFO] [stdout] 135 + msg: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:149:28 [INFO] [stdout] | [INFO] [stdout] 149 | Ok(SecretKey::from_slice(&secp, &challenge)?) [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> libwallet/src/internal/selection.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | return Err(Error::PaymentProof( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 195 | | "Payment proof derivation index required".to_owned(), [INFO] [stdout] 196 | | ) [INFO] [stdout] 197 | | .into()); [INFO] [stdout] | |___________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 194 ~ return Err(Error::PaymentProof( [INFO] [stdout] 195 ~ "Payment proof derivation index required".to_owned(), [INFO] [stdout] 196 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:218:53 [INFO] [stdout] | [INFO] [stdout] 218 | let (commit, change_amount) = output_commits.get(&id).unwrap().clone(); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/selection.rs:332:6 [INFO] [stdout] | [INFO] [stdout] 332 | ) -> Result< [INFO] [stdout] | ______^ [INFO] [stdout] 333 | | ( [INFO] [stdout] 334 | | Vec>>, [INFO] [stdout] 335 | | Vec, [INFO] [stdout] ... | [INFO] [stdout] 339 | | Error, [INFO] [stdout] 340 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:320:1 [INFO] [stdout] | [INFO] [stdout] 320 | / pub fn select_send_tx<'a, T: ?Sized, C, K, B>( [INFO] [stdout] 321 | | wallet: &mut T, [INFO] [stdout] 322 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 323 | | amount: u64, [INFO] [stdout] ... | [INFO] [stdout] 344 | | K: Keychain + 'a, [INFO] [stdout] 345 | | B: ProofBuild, [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:356:3 [INFO] [stdout] | [INFO] [stdout] 356 | &parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> libwallet/src/internal/selection.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | / pub fn select_coins_and_fee<'a, T: ?Sized, C, K>( [INFO] [stdout] 375 | | wallet: &mut T, [INFO] [stdout] 376 | | amount: u64, [INFO] [stdout] 377 | | amount_includes_fee: bool, [INFO] [stdout] ... | [INFO] [stdout] 395 | | C: NodeClient + 'a, [INFO] [stdout] 396 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | .verify(&msg, &self.0) [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | let commits = vec![commitment.clone(), excess_commit.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> libwallet/src/internal/selection.rs:456:17 [INFO] [stdout] | [INFO] [stdout] 456 | available: total as u64, [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `total` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 65 | let commits = vec![commitment.clone(), excess_commit.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `excess_commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> libwallet/src/internal/selection.rs:486:4 [INFO] [stdout] | [INFO] [stdout] 486 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("Transaction amount is too small to include fee")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/internal/selection.rs:486:4 [INFO] [stdout] | [INFO] [stdout] 486 | format!("Transaction amount is too small to include fee").into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Transaction amount is too small to include fee".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] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/selection.rs:502:6 [INFO] [stdout] | [INFO] [stdout] 502 | ) -> Result< [INFO] [stdout] | ______^ [INFO] [stdout] 503 | | ( [INFO] [stdout] 504 | | Vec>>, [INFO] [stdout] 505 | | Vec<(u64, Identifier, Option)>, [INFO] [stdout] 506 | | ), [INFO] [stdout] 507 | | Error, [INFO] [stdout] 508 | | > [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | let sum = secp.commit_sum(vec![commitment.clone()], vec![neg_commit.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:74:59 [INFO] [stdout] | [INFO] [stdout] 74 | let sum = secp.commit_sum(vec![commitment.clone()], vec![neg_commit.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `neg_commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub mod onion; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:97:28 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn deserialize(bytes: &Vec) -> Result { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 97 - pub fn deserialize(bytes: &Vec) -> Result { [INFO] [stdout] 97 + pub fn deserialize(bytes: &[u8]) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/selection.rs:693:40 [INFO] [stdout] | [INFO] [stdout] 693 | slate.add_participant_info(&keychain, &context, None)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `context` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:134:28 [INFO] [stdout] | [INFO] [stdout] 134 | writer.write_fixed_bytes(&self.next_ephemeral_pk.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.next_ephemeral_pk.as_bytes()` [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: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | .map_err(|e| OnionError::DeserializationError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::DeserializationError` [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: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | let mut commitment = self.commit.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | .map_err(|e| OnionError::CalcCommitError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::CalcCommitError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | .map_err(|e| OnionError::CalcCommitError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::CalcCommitError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> libwallet/src/internal/tx.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / pub fn estimate_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] 96 | | wallet: &mut T, [INFO] [stdout] 97 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 98 | | amount: u64, [INFO] [stdout] ... | [INFO] [stdout] 114 | | C: NodeClient + 'a, [INFO] [stdout] 115 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:208:19 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(ChaCha20::new(&key, &nonce)) [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(ChaCha20::new(&key, &nonce)) [INFO] [stdout] | ^^^^^^ help: change this to: `nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 214 | writer.write_fixed_bytes(&self.commit)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `self.commit` [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] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (12/7) [INFO] [stdout] --> libwallet/src/internal/tx.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / pub fn add_inputs_to_slate<'a, T: ?Sized, C, K>( [INFO] [stdout] 145 | | wallet: &mut T, [INFO] [stdout] 146 | | keychain_mask: Option<&SecretKey>, [INFO] [stdout] 147 | | slate: &mut Slate, [INFO] [stdout] ... | [INFO] [stdout] 160 | | C: NodeClient + 'a, [INFO] [stdout] 161 | | K: Keychain + 'a, [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:247:39 [INFO] [stdout] | [INFO] [stdout] 247 | batch.save_tx_log_entry(tx.clone(), &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:283:3 [INFO] [stdout] | [INFO] [stdout] 283 | &parent_key_id, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:290:50 [INFO] [stdout] | [INFO] [stdout] 290 | let mut context = Context::new(keychain.secp(), &parent_key_id, use_test_rng, true); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:329:44 [INFO] [stdout] | [INFO] [stdout] 329 | deserializer.deserialize_struct("Onion", &FIELDS, OnionVisitor) [INFO] [stdout] | ^^^^^^^ help: change this to: `FIELDS` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:359:8 [INFO] [stdout] | [INFO] [stdout] 359 | Some(&parent_key_id), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | Some(&parent_key_id), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> libwallet/src/internal/tx.rs:424:26 [INFO] [stdout] | [INFO] [stdout] 424 | let derivation_index = match context.payment_proof_derivation_index { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 425 | | Some(i) => i, [INFO] [stdout] 426 | | None => 0, [INFO] [stdout] 427 | | }; [INFO] [stdout] | |_________^ help: replace it with: `context.payment_proof_derivation_index.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `commit_bytes` [INFO] [stdout] --> libwallet/src/internal/tx.rs:471:11 [INFO] [stdout] | [INFO] [stdout] 471 | for i in 0..33 { [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] 471 - for i in 0..33 { [INFO] [stdout] 471 + for in &mut commit_bytes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `sender_address_bytes` [INFO] [stdout] --> libwallet/src/internal/tx.rs:475:11 [INFO] [stdout] | [INFO] [stdout] 475 | for i in 0..32 { [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] 475 - for i in 0..32 { [INFO] [stdout] 475 + for in &mut sender_address_bytes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | /// the first `S` bytes of `vec`. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 103 | /// the first `S` bytes of `vec`. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn vec_to_array(vec: &Vec) -> Result<[u8; S], ser::Error> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 114 - pub fn vec_to_array(vec: &Vec) -> Result<[u8; S], ser::Error> { [INFO] [stdout] 114 + pub fn vec_to_array(vec: &[u8]) -> Result<[u8; S], ser::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | hops: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 69 - hops: &Vec, [INFO] [stdout] 69 + hops: &[Hop], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FeeFields` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | fee: hop.fee.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hop.fee` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | rangeproof: hop.rangeproof.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hop.rangeproof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `enc_payloads` [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | for j in i..shared_secrets.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] 107 - for j in i..shared_secrets.len() { [INFO] [stdout] 107 + for in enc_payloads.iter_mut().take(shared_secrets.len()).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:577:23 [INFO] [stdout] | [INFO] [stdout] 577 | &slate.calc_excess(&keychain.secp())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/tx.rs:666:43 [INFO] [stdout] | [INFO] [stdout] 666 | .commit(0, blinding_factor.secret_key(&keychain.secp()).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> libwallet/src/slate.rs:177:1 [INFO] [stdout] | [INFO] [stdout] 177 | / impl Default for KernelFeaturesArgs { [INFO] [stdout] 178 | | fn default() -> KernelFeaturesArgs { [INFO] [stdout] 179 | | KernelFeaturesArgs { lock_height: 0 } [INFO] [stdout] 180 | | } [INFO] [stdout] 181 | | } [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] 172 + #[derive(Default)] [INFO] [stdout] 173 | pub struct KernelFeaturesArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` to destructure a single infallible pattern. Consider using `let` [INFO] [stdout] --> libwallet/src/slate.rs:229:3 [INFO] [stdout] | [INFO] [stdout] 229 | / let v4: SlateV4 = match v_slate { [INFO] [stdout] 230 | | VersionedSlate::V4(s) => s, [INFO] [stdout] 231 | | }; [INFO] [stdout] | |__________^ help: try: `let VersionedSlate::V4(v4) = v_slate;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#infallible_destructuring_match [INFO] [stdout] = note: `#[warn(clippy::infallible_destructuring_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:290:63 [INFO] [stdout] | [INFO] [stdout] 290 | let pub_nonce = PublicKey::from_secret_key(keychain.secp(), &sec_nonce)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `sec_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:291:61 [INFO] [stdout] | [INFO] [stdout] 291 | let pub_key = PublicKey::from_secret_key(keychain.secp(), &sec_key)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `sec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` can be collapsed into the outer `if let` [INFO] [stdout] --> libwallet/src/internal/updater.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | / match s { [INFO] [stdout] 319 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 320 | | _ => {} [INFO] [stdout] 321 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> libwallet/src/internal/updater.rs:317:14 [INFO] [stdout] | [INFO] [stdout] 317 | if let Some(ref s) = query_args.sort_order { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 318 | match s { [INFO] [stdout] 319 | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> libwallet/src/internal/updater.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | / match s { [INFO] [stdout] 319 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 320 | | _ => {} [INFO] [stdout] 321 | | } [INFO] [stdout] | |_________^ help: try: `if let RetrieveTxQuerySortOrder::Desc = s { return_txs.reverse() }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:360:54 [INFO] [stdout] | [INFO] [stdout] 360 | None => return Err(Error::KernelFeaturesMissing(format!("lock_height"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"lock_height".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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query_args` after checking its variant with `is_some` [INFO] [stdout] --> libwallet/src/internal/updater.rs:351:66 [INFO] [stdout] | [INFO] [stdout] 350 | if query_args.is_some() && tx_id.is_none() && tx_slate_id.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 351 | txs = apply_advanced_tx_list_filtering(wallet, parent_key_id, &query_args.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: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:367:54 [INFO] [stdout] | [INFO] [stdout] 367 | None => return Err(Error::KernelFeaturesMissing(format!("lock_height"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"lock_height".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:403:64 [INFO] [stdout] | [INFO] [stdout] 403 | let pub_excess = PublicKey::from_secret_key(keychain.secp(), &sec_key)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `sec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:410:6 [INFO] [stdout] | [INFO] [stdout] 410 | ) -> Result, Option, bool)>, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:404:63 [INFO] [stdout] | [INFO] [stdout] 404 | let pub_nonce = PublicKey::from_secret_key(keychain.secp(), &sec_nonce)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `sec_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:423:63 [INFO] [stdout] | [INFO] [stdout] 423 | let tx_entries = retrieve_txs(wallet, None, None, None, Some(&parent_key_id), true)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> libwallet/src/slate.rs:434:6 [INFO] [stdout] | [INFO] [stdout] 434 | if pub_nonces.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pub_nonces.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:435:29 [INFO] [stdout] | [INFO] [stdout] 435 | return Err(Error::Commit(format!("Participant nonces cannot be empty"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Participant nonces cannot be empty".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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> libwallet/src/slate.rs:450:6 [INFO] [stdout] | [INFO] [stdout] 450 | if pub_blinds.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pub_blinds.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:451:29 [INFO] [stdout] | [INFO] [stdout] 451 | return Err(Error::Commit(format!( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 452 | | "Participant Blind sums cannot be empty" [INFO] [stdout] 453 | | ))); [INFO] [stdout] | |_____________^ help: consider using `.to_string()`: `"Participant Blind sums cannot be empty".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] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> libwallet/src/slate.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | .filter(|p| p.part_sig.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 466 | | .map(|p| p.part_sig.as_ref().unwrap()) [INFO] [stdout] | |__________________________________________________^ help: try: `filter_map(|p| p.part_sig.as_ref())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:496:18 [INFO] [stdout] | [INFO] [stdout] 496 | wallet_outputs: &HashMap, Option, bool)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> libwallet/src/slate.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | && part_sig == None [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `part_sig.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:525:27 [INFO] [stdout] | [INFO] [stdout] 525 | match api_outputs.get(&commit) { [INFO] [stdout] | ^^^^^^^ help: change this to: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:550:35 [INFO] [stdout] | [INFO] [stdout] 550 | ... batch.save_tx_log_entry(t, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:570:36 [INFO] [stdout] | [INFO] [stdout] 570 | ... batch.save_tx_log_entry(t, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/internal/updater.rs:596:25 [INFO] [stdout] | [INFO] [stdout] 596 | tx.reverted_after = tx.confirmation_ts.clone().and_then(|t| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `tx.confirmation_ts` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/internal/updater.rs:601:33 [INFO] [stdout] | [INFO] [stdout] 601 | batch.save_tx_log_entry(tx, &parent_key_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `parent_key_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/internal/updater.rs:659:18 [INFO] [stdout] | [INFO] [stdout] 659 | wallet_outputs: &HashMap, Option, bool)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signature` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate.rs:658:23 [INFO] [stdout] | [INFO] [stdout] 658 | kernel.excess_sig = final_sig.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*final_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:713:53 [INFO] [stdout] | [INFO] [stdout] 713 | let participant_data = map_vec!(participant_data, |data| ParticipantDataV4::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantDataV4::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:715:23 [INFO] [stdout] | [INFO] [stdout] 715 | let payment_proof = match payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 716 | | Some(p) => Some(PaymentInfoV4::from(&p)), [INFO] [stdout] 717 | | None => None, [INFO] [stdout] 718 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.map(|p| PaymentInfoV4::from(&p))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:719:19 [INFO] [stdout] | [INFO] [stdout] 719 | let feat_args = match kernel_features_args { [INFO] [stdout] | _________________________^ [INFO] [stdout] 720 | | Some(a) => Some(KernelFeaturesArgsV4::from(&a)), [INFO] [stdout] 721 | | None => None, [INFO] [stdout] 722 | | }; [INFO] [stdout] | |_________^ help: try: `kernel_features_args.map(|a| KernelFeaturesArgsV4::from(&a))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:766:53 [INFO] [stdout] | [INFO] [stdout] 766 | let participant_data = map_vec!(participant_data, |data| ParticipantDataV4::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantDataV4::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:768:23 [INFO] [stdout] | [INFO] [stdout] 768 | let payment_proof = match payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 769 | | Some(p) => Some(PaymentInfoV4::from(p)), [INFO] [stdout] 770 | | None => None, [INFO] [stdout] 771 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.as_ref().map(PaymentInfoV4::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:773:19 [INFO] [stdout] | [INFO] [stdout] 773 | let feat_args = match kernel_features_args { [INFO] [stdout] | _________________________^ [INFO] [stdout] 774 | | Some(a) => Some(KernelFeaturesArgsV4::from(a)), [INFO] [stdout] 775 | | None => None, [INFO] [stdout] 776 | | }; [INFO] [stdout] | |_________^ help: try: `kernel_features_args.as_ref().map(KernelFeaturesArgsV4::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:919:53 [INFO] [stdout] | [INFO] [stdout] 919 | let participant_data = map_vec!(participant_data, |data| ParticipantData::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantData::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:921:23 [INFO] [stdout] | [INFO] [stdout] 921 | let payment_proof = match &payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 922 | | Some(p) => Some(PaymentInfo::from(p)), [INFO] [stdout] 923 | | None => None, [INFO] [stdout] 924 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.as_ref().map(PaymentInfo::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:925:30 [INFO] [stdout] | [INFO] [stdout] 925 | let kernel_features_args = match &feat_args { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 926 | | Some(a) => Some(KernelFeaturesArgs::from(a)), [INFO] [stdout] 927 | | None => None, [INFO] [stdout] 928 | | }; [INFO] [stdout] | |_________^ help: try: `feat_args.as_ref().map(KernelFeaturesArgs::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> libwallet/src/slate.rs:949:13 [INFO] [stdout] | [INFO] [stdout] 949 | let coms = match slate.coms.as_ref() { [INFO] [stdout] | ________________^ [INFO] [stdout] 950 | | Some(c) => c, [INFO] [stdout] 951 | | None => return None, [INFO] [stdout] 952 | | }; [INFO] [stdout] | |_____^ help: try instead: `slate.coms.as_ref()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `RangeProof` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate.rs:995:47 [INFO] [stdout] | [INFO] [stdout] 995 | outputs.push(Output::new(c.f.into(), c.c, p.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate.rs:1098:4 [INFO] [stdout] | [INFO] [stdout] 1098 | 0 | _ => OutputFeatures::Plain, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] = note: `#[warn(clippy::wildcard_in_or_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:44:2 [INFO] [stdout] | [INFO] [stdout] 44 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:55:2 [INFO] [stdout] | [INFO] [stdout] 55 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | &msg, [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:77:2 [INFO] [stdout] | [INFO] [stdout] 77 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:88:2 [INFO] [stdout] | [INFO] [stdout] 88 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | Some(s) => OnionV3Address::try_from(s.as_str()) [INFO] [stdout] | ________________________^ [INFO] [stdout] 95 | | .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] 96 | | .and_then(|a| Ok(Some(a))), [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] = note: `#[warn(clippy::bind_instead_of_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 94 ~ Some(s) => OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 95 ~ .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))).map(|a| Some(a)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:118:47 [INFO] [stdout] | [INFO] [stdout] 118 | let e = ComSignature::calc_challenge(&secp, &commit, &self.pub_nonce, &msg, false)?; [INFO] [stdout] | ^^^^^^^ help: change this to: `commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:118:73 [INFO] [stdout] | [INFO] [stdout] 118 | let e = ComSignature::calc_challenge(&secp, &commit, &self.pub_nonce, &msg, false)?; [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:110:2 [INFO] [stdout] | [INFO] [stdout] 110 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:118:2 [INFO] [stdout] | [INFO] [stdout] 118 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(Ok)`, which is a no-op [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | / OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 125 | | .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] 126 | | .and_then(Ok) [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use the expression directly [INFO] [stdout] | [INFO] [stdout] 124 ~ OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 125 ~ .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:121:60 [INFO] [stdout] | [INFO] [stdout] 121 | let commits = vec![Commitment::from_pubkey(&secp, &ce)?, self.pub_nonce.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.pub_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:137:2 [INFO] [stdout] | [INFO] [stdout] 137 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:145:2 [INFO] [stdout] | [INFO] [stdout] 145 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | msg: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 135 - msg: &Vec, [INFO] [stdout] 135 + msg: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:165:2 [INFO] [stdout] | [INFO] [stdout] 165 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/comsig.rs:149:28 [INFO] [stdout] | [INFO] [stdout] 149 | Ok(SecretKey::from_slice(&secp, &challenge)?) [INFO] [stdout] | ^^^^^ help: change this to: `secp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:173:2 [INFO] [stdout] | [INFO] [stdout] 173 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:193:2 [INFO] [stdout] | [INFO] [stdout] 193 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:201:2 [INFO] [stdout] | [INFO] [stdout] 201 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:207:3 [INFO] [stdout] | [INFO] [stdout] 207 | / String::deserialize(deserializer) [INFO] [stdout] 208 | | .and_then(|string| from_hex(&string).map_err(|err| Error::custom(err.to_string()))) [INFO] [stdout] 209 | | .and_then(|bytes: Vec| { [INFO] [stdout] 210 | | let mut b = [0u8; 32]; [INFO] [stdout] 211 | | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 212 | | Ok(xDalekPublicKey::from(b)) [INFO] [stdout] 213 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 209 ~ .map(|bytes: Vec| { [INFO] [stdout] 210 | let mut b = [0u8; 32]; [INFO] [stdout] 211 | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 212 ~ xDalekPublicKey::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:223:2 [INFO] [stdout] | [INFO] [stdout] 223 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:231:2 [INFO] [stdout] | [INFO] [stdout] 231 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:254:2 [INFO] [stdout] | [INFO] [stdout] 254 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:265:2 [INFO] [stdout] | [INFO] [stdout] 265 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:296:2 [INFO] [stdout] | [INFO] [stdout] 296 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:307:2 [INFO] [stdout] | [INFO] [stdout] 307 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:335:2 [INFO] [stdout] | [INFO] [stdout] 335 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:346:2 [INFO] [stdout] | [INFO] [stdout] 346 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | Some(string) => from_hex(&string) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 353 | | .map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 354 | | .and_then(|bytes: Vec| { [INFO] [stdout] 355 | | let mut b = [0u8; 32]; [INFO] [stdout] 356 | | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 357 | | Ok(Some(xDalekPublicKey::from(b))) [INFO] [stdout] 358 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 354 ~ .map(|bytes: Vec| { [INFO] [stdout] 355 | let mut b = [0u8; 32]; [INFO] [stdout] 356 | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 357 ~ Some(xDalekPublicKey::from(b)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:373:2 [INFO] [stdout] | [INFO] [stdout] 373 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:79:2 [INFO] [stdout] | [INFO] [stdout] 79 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:381:2 [INFO] [stdout] | [INFO] [stdout] 381 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:90:2 [INFO] [stdout] | [INFO] [stdout] 90 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:96:20 [INFO] [stdout] | [INFO] [stdout] 96 | Some(string) => DalekPublicKey::from_hex(&string) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 97 | | .map_err(|e| Error::custom(e.to_string())) [INFO] [stdout] 98 | | .and_then(|pk: DalekPublicKey| Ok(Some(pk))), [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] = note: `#[warn(clippy::bind_instead_of_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 96 ~ Some(string) => DalekPublicKey::from_hex(&string) [INFO] [stdout] 97 ~ .map_err(|e| Error::custom(e.to_string())).map(|pk: DalekPublicKey| Some(pk)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | DalekSignature::try_from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fallible_conversions)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 391 - DalekSignature::try_from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 391 + From::from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:405:2 [INFO] [stdout] | [INFO] [stdout] 405 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:416:2 [INFO] [stdout] | [INFO] [stdout] 416 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:427:6 [INFO] [stdout] | [INFO] [stdout] 427 | DalekSignature::try_from(b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 427 - DalekSignature::try_from(b) [INFO] [stdout] 427 + From::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:444:2 [INFO] [stdout] | [INFO] [stdout] 444 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:455:2 [INFO] [stdout] | [INFO] [stdout] 455 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | .verify(&msg, &self.0) [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:155:2 [INFO] [stdout] | [INFO] [stdout] 155 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:466:6 [INFO] [stdout] | [INFO] [stdout] 466 | DalekSignature::try_from(b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 466 - DalekSignature::try_from(b) [INFO] [stdout] 466 + From::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:163:2 [INFO] [stdout] | [INFO] [stdout] 163 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:482:2 [INFO] [stdout] | [INFO] [stdout] 482 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:490:2 [INFO] [stdout] | [INFO] [stdout] 490 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/dalek.rs:183:25 [INFO] [stdout] | [INFO] [stdout] 183 | let sig = keypair.sign(&message); [INFO] [stdout] | ^^^^^^^^ help: change this to: `message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:504:10 [INFO] [stdout] | [INFO] [stdout] 504 | match u16::from_str_radix(v[0], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[0].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:508:10 [INFO] [stdout] | [INFO] [stdout] 508 | match u16::from_str_radix(v[1], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[1].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:524:2 [INFO] [stdout] | [INFO] [stdout] 524 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:541:2 [INFO] [stdout] | [INFO] [stdout] 541 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:568:2 [INFO] [stdout] | [INFO] [stdout] 568 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:576:2 [INFO] [stdout] | [INFO] [stdout] 576 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:582:3 [INFO] [stdout] | [INFO] [stdout] 582 | / String::deserialize(deserializer) [INFO] [stdout] 583 | | .and_then(|string| { [INFO] [stdout] 584 | | base64::decode(&string).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 585 | | }) [INFO] [stdout] ... | [INFO] [stdout] 589 | | Ok(Uuid::from_bytes(b)) [INFO] [stdout] 590 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 586 ~ .map(|bytes: Vec| { [INFO] [stdout] 587 | let mut b = [0u8; 16]; [INFO] [stdout] 588 | b.copy_from_slice(&bytes[0..16]); [INFO] [stdout] 589 ~ Uuid::from_bytes(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> libwallet/src/slate_versions/v4.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | //! value - the value of their inputs' blinding factors [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 37 | //! value - the value of their inputs' blinding factors [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | let commits = vec![commitment.clone(), excess_commit.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 65 | let commits = vec![commitment.clone(), excess_commit.clone()]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `excess_commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | let sum = secp.commit_sum(vec![commitment.clone()], vec![neg_commit.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:74:59 [INFO] [stdout] | [INFO] [stdout] 74 | let sum = secp.commit_sum(vec![commitment.clone()], vec![neg_commit.clone()])?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `neg_commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:86:66 [INFO] [stdout] | [INFO] [stdout] 86 | let pubkey = grin_util::secp::PublicKey::from_secret_key(&secp, &sk)?; [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:89:3 [INFO] [stdout] | [INFO] [stdout] 89 | &msg, [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/crypto/secp.rs:90:3 [INFO] [stdout] | [INFO] [stdout] 90 | &sk, [INFO] [stdout] | ^^^ help: change this to: `sk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub mod onion; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:97:28 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn deserialize(bytes: &Vec) -> Result { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 97 - pub fn deserialize(bytes: &Vec) -> Result { [INFO] [stdout] 97 + pub fn deserialize(bytes: &[u8]) -> Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:134:28 [INFO] [stdout] | [INFO] [stdout] 134 | writer.write_fixed_bytes(&self.next_ephemeral_pk.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.next_ephemeral_pk.as_bytes()` [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: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | .map_err(|e| OnionError::DeserializationError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::DeserializationError` [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: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | let mut commitment = self.commit.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.commit` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | .map_err(|e| OnionError::CalcCommitError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::CalcCommitError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | .map_err(|e| OnionError::CalcCommitError(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `OnionError::CalcCommitError` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:208:19 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(ChaCha20::new(&key, &nonce)) [INFO] [stdout] | ^^^^ help: change this to: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(ChaCha20::new(&key, &nonce)) [INFO] [stdout] | ^^^^^^ help: change this to: `nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:214:28 [INFO] [stdout] | [INFO] [stdout] 214 | writer.write_fixed_bytes(&self.commit)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `self.commit` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:329:44 [INFO] [stdout] | [INFO] [stdout] 329 | deserializer.deserialize_struct("Onion", &FIELDS, OnionVisitor) [INFO] [stdout] | ^^^^^^^ help: change this to: `FIELDS` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:422:23 [INFO] [stdout] | [INFO] [stdout] 422 | next_ephemeral_pk: onion_packet.ephemeral_pubkey.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `onion_packet.ephemeral_pubkey` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `keys` [INFO] [stdout] --> libwallet/src/mwixnet/onion/onion.rs:427:12 [INFO] [stdout] | [INFO] [stdout] 427 | for i in 0..5 { [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] 427 - for i in 0..5 { [INFO] [stdout] 427 + for in keys.iter().take(5) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | /// the first `S` bytes of `vec`. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 103 | /// the first `S` bytes of `vec`. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/util.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn vec_to_array(vec: &Vec) -> Result<[u8; S], ser::Error> { [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 114 - pub fn vec_to_array(vec: &Vec) -> Result<[u8; S], ser::Error> { [INFO] [stdout] 114 + pub fn vec_to_array(vec: &[u8]) -> Result<[u8; S], ser::Error> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 32]` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:59:55 [INFO] [stdout] | [INFO] [stdout] 59 | server_pubkey: xPublicKey::from(&StaticSecret::from(server_key.0.clone())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `server_key.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | fee: FeeFields::from(fee as u32), [INFO] [stdout] | ^^^^^^^^^^ help: try: `fee` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | hops: &Vec, [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] help: change this to [INFO] [stdout] | [INFO] [stdout] 69 - hops: &Vec, [INFO] [stdout] 69 + hops: &[Hop], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FeeFields` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | fee: hop.fee.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hop.fee` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | rangeproof: hop.rangeproof.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `hop.rangeproof` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `enc_payloads` [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | for j in i..shared_secrets.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] 107 - for j in i..shared_secrets.len() { [INFO] [stdout] 107 + for in enc_payloads.iter_mut().take(shared_secrets.len()).skip(i) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Commitment` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | commit: commitment.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*commitment` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/mwixnet/onion/mod.rs:185:28 [INFO] [stdout] | [INFO] [stdout] 185 | blind.add_assign(&secp, &hop_excess).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `hop_excess` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> libwallet/src/slate.rs:177:1 [INFO] [stdout] | [INFO] [stdout] 177 | / impl Default for KernelFeaturesArgs { [INFO] [stdout] 178 | | fn default() -> KernelFeaturesArgs { [INFO] [stdout] 179 | | KernelFeaturesArgs { lock_height: 0 } [INFO] [stdout] 180 | | } [INFO] [stdout] 181 | | } [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] 172 + #[derive(Default)] [INFO] [stdout] 173 | pub struct KernelFeaturesArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` to destructure a single infallible pattern. Consider using `let` [INFO] [stdout] --> libwallet/src/slate.rs:229:3 [INFO] [stdout] | [INFO] [stdout] 229 | / let v4: SlateV4 = match v_slate { [INFO] [stdout] 230 | | VersionedSlate::V4(s) => s, [INFO] [stdout] 231 | | }; [INFO] [stdout] | |__________^ help: try: `let VersionedSlate::V4(v4) = v_slate;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#infallible_destructuring_match [INFO] [stdout] = note: `#[warn(clippy::infallible_destructuring_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:290:63 [INFO] [stdout] | [INFO] [stdout] 290 | let pub_nonce = PublicKey::from_secret_key(keychain.secp(), &sec_nonce)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `sec_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:291:61 [INFO] [stdout] | [INFO] [stdout] 291 | let pub_key = PublicKey::from_secret_key(keychain.secp(), &sec_key)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `sec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:360:54 [INFO] [stdout] | [INFO] [stdout] 360 | None => return Err(Error::KernelFeaturesMissing(format!("lock_height"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"lock_height".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] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:367:54 [INFO] [stdout] | [INFO] [stdout] 367 | None => return Err(Error::KernelFeaturesMissing(format!("lock_height"))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"lock_height".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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:71:28 [INFO] [stdout] | [INFO] [stdout] 71 | writer.write_fixed_bytes(&self.0.as_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `self.0.as_bytes()` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:403:64 [INFO] [stdout] | [INFO] [stdout] 403 | let pub_excess = PublicKey::from_secret_key(keychain.secp(), &sec_key)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `sec_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate.rs:404:63 [INFO] [stdout] | [INFO] [stdout] 404 | let pub_nonce = PublicKey::from_secret_key(keychain.secp(), &sec_nonce)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `sec_nonce` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> libwallet/src/slate.rs:434:6 [INFO] [stdout] | [INFO] [stdout] 434 | if pub_nonces.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pub_nonces.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:435:29 [INFO] [stdout] | [INFO] [stdout] 435 | return Err(Error::Commit(format!("Participant nonces cannot be empty"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Participant nonces cannot be empty".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] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> libwallet/src/slate.rs:450:6 [INFO] [stdout] | [INFO] [stdout] 450 | if pub_blinds.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pub_blinds.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slate.rs:451:29 [INFO] [stdout] | [INFO] [stdout] 451 | return Err(Error::Commit(format!( [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 452 | | "Participant Blind sums cannot be empty" [INFO] [stdout] 453 | | ))); [INFO] [stdout] | |_____________^ help: consider using `.to_string()`: `"Participant Blind sums cannot be empty".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] [INFO] [stdout] [INFO] [stdout] warning: `filter(..).map(..)` can be simplified as `filter_map(..)` [INFO] [stdout] --> libwallet/src/slate.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 465 | .filter(|p| p.part_sig.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 466 | | .map(|p| p.part_sig.as_ref().unwrap()) [INFO] [stdout] | |__________________________________________________^ help: try: `filter_map(|p| p.part_sig.as_ref())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter_map [INFO] [stdout] = note: `#[warn(clippy::manual_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> libwallet/src/slate.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | && part_sig == None [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `part_sig.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:214:7 [INFO] [stdout] | [INFO] [stdout] 214 | 0 | _ => None, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:255:16 [INFO] [stdout] | [INFO] [stdout] 255 | ComsWrapRef(&c).write(writer)?; [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | ProofWrapRef(&p).write(writer)?; [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:317:7 [INFO] [stdout] | [INFO] [stdout] 317 | 0 | _ => None, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:338:30 [INFO] [stdout] | [INFO] [stdout] 338 | writer.write_fixed_bytes(&s.to_bytes().to_vec())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `s.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_vec` [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:338:30 [INFO] [stdout] | [INFO] [stdout] 338 | writer.write_fixed_bytes(&s.to_bytes().to_vec())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `s.to_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | 1 | _ => Some(DalekSignature::try_from(&reader.read_fixed_bytes(64)?[..]).unwrap()), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signature` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate.rs:658:23 [INFO] [stdout] | [INFO] [stdout] 658 | kernel.excess_sig = final_sig.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*final_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:713:53 [INFO] [stdout] | [INFO] [stdout] 713 | let participant_data = map_vec!(participant_data, |data| ParticipantDataV4::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantDataV4::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:715:23 [INFO] [stdout] | [INFO] [stdout] 715 | let payment_proof = match payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 716 | | Some(p) => Some(PaymentInfoV4::from(&p)), [INFO] [stdout] 717 | | None => None, [INFO] [stdout] 718 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.map(|p| PaymentInfoV4::from(&p))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:719:19 [INFO] [stdout] | [INFO] [stdout] 719 | let feat_args = match kernel_features_args { [INFO] [stdout] | _________________________^ [INFO] [stdout] 720 | | Some(a) => Some(KernelFeaturesArgsV4::from(&a)), [INFO] [stdout] 721 | | None => None, [INFO] [stdout] 722 | | }; [INFO] [stdout] | |_________^ help: try: `kernel_features_args.map(|a| KernelFeaturesArgsV4::from(&a))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:766:53 [INFO] [stdout] | [INFO] [stdout] 766 | let participant_data = map_vec!(participant_data, |data| ParticipantDataV4::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantDataV4::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:768:23 [INFO] [stdout] | [INFO] [stdout] 768 | let payment_proof = match payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 769 | | Some(p) => Some(PaymentInfoV4::from(p)), [INFO] [stdout] 770 | | None => None, [INFO] [stdout] 771 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.as_ref().map(PaymentInfoV4::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:773:19 [INFO] [stdout] | [INFO] [stdout] 773 | let feat_args = match kernel_features_args { [INFO] [stdout] | _________________________^ [INFO] [stdout] 774 | | Some(a) => Some(KernelFeaturesArgsV4::from(a)), [INFO] [stdout] 775 | | None => None, [INFO] [stdout] 776 | | }; [INFO] [stdout] | |_________^ help: try: `kernel_features_args.as_ref().map(KernelFeaturesArgsV4::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> libwallet/src/slate.rs:919:53 [INFO] [stdout] | [INFO] [stdout] 919 | let participant_data = map_vec!(participant_data, |data| ParticipantData::from(data)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ParticipantData::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:921:23 [INFO] [stdout] | [INFO] [stdout] 921 | let payment_proof = match &payment_proof { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 922 | | Some(p) => Some(PaymentInfo::from(p)), [INFO] [stdout] 923 | | None => None, [INFO] [stdout] 924 | | }; [INFO] [stdout] | |_________^ help: try: `payment_proof.as_ref().map(PaymentInfo::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> libwallet/src/slate.rs:925:30 [INFO] [stdout] | [INFO] [stdout] 925 | let kernel_features_args = match &feat_args { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 926 | | Some(a) => Some(KernelFeaturesArgs::from(a)), [INFO] [stdout] 927 | | None => None, [INFO] [stdout] 928 | | }; [INFO] [stdout] | |_________^ help: try: `feat_args.as_ref().map(KernelFeaturesArgs::from)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> libwallet/src/slate.rs:949:13 [INFO] [stdout] | [INFO] [stdout] 949 | let coms = match slate.coms.as_ref() { [INFO] [stdout] | ________________^ [INFO] [stdout] 950 | | Some(c) => c, [INFO] [stdout] 951 | | None => return None, [INFO] [stdout] 952 | | }; [INFO] [stdout] | |_____^ help: try instead: `slate.coms.as_ref()?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `RangeProof` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate.rs:995:47 [INFO] [stdout] | [INFO] [stdout] 995 | outputs.push(Output::new(c.f.into(), c.c, p.clone())); [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate.rs:1098:4 [INFO] [stdout] | [INFO] [stdout] 1098 | 0 | _ => OutputFeatures::Plain, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] = note: `#[warn(clippy::wildcard_in_or_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slatepack/address.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | pub_key: pub_key.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> libwallet/src/slatepack/address.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(encoded.as_bytes().len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `encoded.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:44:2 [INFO] [stdout] | [INFO] [stdout] 44 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:55:2 [INFO] [stdout] | [INFO] [stdout] 55 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slatepack/address.rs:89:36 [INFO] [stdout] | [INFO] [stdout] 89 | let (hrp, data) = bech32::decode(&encoded)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `encoded` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:77:2 [INFO] [stdout] | [INFO] [stdout] 77 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:88:2 [INFO] [stdout] | [INFO] [stdout] 88 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | Some(s) => OnionV3Address::try_from(s.as_str()) [INFO] [stdout] | ________________________^ [INFO] [stdout] 95 | | .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] 96 | | .and_then(|a| Ok(Some(a))), [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 94 ~ Some(s) => OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 95 ~ .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))).map(|a| Some(a)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:110:2 [INFO] [stdout] | [INFO] [stdout] 110 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:118:2 [INFO] [stdout] | [INFO] [stdout] 118 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/address.rs:159:2 [INFO] [stdout] | [INFO] [stdout] 159 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(Ok)`, which is a no-op [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | / OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 125 | | .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] 126 | | .and_then(Ok) [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use the expression directly [INFO] [stdout] | [INFO] [stdout] 124 ~ OnionV3Address::try_from(s.as_str()) [INFO] [stdout] 125 ~ .map_err(|err: OnionV3AddressError| Error::custom(format!("{:?}", err))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:137:2 [INFO] [stdout] | [INFO] [stdout] 137 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:145:2 [INFO] [stdout] | [INFO] [stdout] 145 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:165:2 [INFO] [stdout] | [INFO] [stdout] 165 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:173:2 [INFO] [stdout] | [INFO] [stdout] 173 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:193:2 [INFO] [stdout] | [INFO] [stdout] 193 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:201:2 [INFO] [stdout] | [INFO] [stdout] 201 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:207:3 [INFO] [stdout] | [INFO] [stdout] 207 | / String::deserialize(deserializer) [INFO] [stdout] 208 | | .and_then(|string| from_hex(&string).map_err(|err| Error::custom(err.to_string()))) [INFO] [stdout] 209 | | .and_then(|bytes: Vec| { [INFO] [stdout] 210 | | let mut b = [0u8; 32]; [INFO] [stdout] 211 | | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 212 | | Ok(xDalekPublicKey::from(b)) [INFO] [stdout] 213 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 209 ~ .map(|bytes: Vec| { [INFO] [stdout] 210 | let mut b = [0u8; 32]; [INFO] [stdout] 211 | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 212 ~ xDalekPublicKey::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:223:2 [INFO] [stdout] | [INFO] [stdout] 223 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slatepack/address.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | writer.write_fixed_bytes(&bytes) [INFO] [stdout] | ^^^^^^ help: change this to: `bytes` [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] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:231:2 [INFO] [stdout] | [INFO] [stdout] 231 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded use of `concat!` macro [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | Regex::new(concat!(r"^[>\n\r\t ]*BEGINSLATEPACK[>\n\r\t ]*$")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `"^[>\\n\\r\\t ]*BEGINSLATEPACK[>\\n\\r\\t ]*$"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_concat [INFO] [stdout] = note: `#[warn(clippy::useless_concat)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:254:2 [INFO] [stdout] | [INFO] [stdout] 254 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded use of `concat!` macro [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | Regex::new(concat!(r"^[>\n\r\t ]*ENDSLATEPACK[>\n\r\t ]*$")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `"^[>\\n\\r\\t ]*ENDSLATEPACK[>\\n\\r\\t ]*$"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_concat [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:265:2 [INFO] [stdout] | [INFO] [stdout] 265 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let payload_bytes = armor_bytes[header_len as usize..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `header_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:296:2 [INFO] [stdout] | [INFO] [stdout] 296 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | let footer_bytes = armor_bytes[consumed_bytes as usize..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `consumed_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:307:2 [INFO] [stdout] | [INFO] [stdout] 307 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:335:2 [INFO] [stdout] | [INFO] [stdout] 335 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:346:2 [INFO] [stdout] | [INFO] [stdout] 346 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:352:20 [INFO] [stdout] | [INFO] [stdout] 352 | Some(string) => from_hex(&string) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 353 | | .map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 354 | | .and_then(|bytes: Vec| { [INFO] [stdout] 355 | | let mut b = [0u8; 32]; [INFO] [stdout] 356 | | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 357 | | Ok(Some(xDalekPublicKey::from(b))) [INFO] [stdout] 358 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 354 ~ .map(|bytes: Vec| { [INFO] [stdout] 355 | let mut b = [0u8; 32]; [INFO] [stdout] 356 | b.copy_from_slice(&bytes[0..32]); [INFO] [stdout] 357 ~ Some(xDalekPublicKey::from(b)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:373:2 [INFO] [stdout] | [INFO] [stdout] 373 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:381:2 [INFO] [stdout] | [INFO] [stdout] 381 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | DalekSignature::try_from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] = note: `#[warn(clippy::unnecessary_fallible_conversions)]` on by default [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 391 - DalekSignature::try_from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 391 + From::from(b).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:405:2 [INFO] [stdout] | [INFO] [stdout] 405 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:416:2 [INFO] [stdout] | [INFO] [stdout] 416 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:427:6 [INFO] [stdout] | [INFO] [stdout] 427 | DalekSignature::try_from(b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 427 - DalekSignature::try_from(b) [INFO] [stdout] 427 + From::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:444:2 [INFO] [stdout] | [INFO] [stdout] 444 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:455:2 [INFO] [stdout] | [INFO] [stdout] 455 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a fallible conversion when an infallible one could be used [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:466:6 [INFO] [stdout] | [INFO] [stdout] 466 | DalekSignature::try_from(b) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: converting `[u8; 64]` to `Signature` cannot fail [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fallible_conversions [INFO] [stdout] help: use [INFO] [stdout] | [INFO] [stdout] 466 - DalekSignature::try_from(b) [INFO] [stdout] 466 + From::from(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:482:2 [INFO] [stdout] | [INFO] [stdout] 482 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:490:2 [INFO] [stdout] | [INFO] [stdout] 490 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | let msg = format!("Data invalid length"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Data invalid length".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] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:504:10 [INFO] [stdout] | [INFO] [stdout] 504 | match u16::from_str_radix(v[0], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[0].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:508:10 [INFO] [stdout] | [INFO] [stdout] 508 | match u16::from_str_radix(v[1], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[1].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | SlatepackArmor::encode(&slatepack) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `slatepack` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:524:2 [INFO] [stdout] | [INFO] [stdout] 524 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:119:3 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(Slate::upgrade(slate_bin.into())?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 119 - Ok(Slate::upgrade(slate_bin.into())?) [INFO] [stdout] 119 + Slate::upgrade(slate_bin.into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:541:2 [INFO] [stdout] | [INFO] [stdout] 541 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:568:2 [INFO] [stdout] | [INFO] [stdout] 568 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:576:2 [INFO] [stdout] | [INFO] [stdout] 576 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `Result.and_then(|x| Ok(y))`, which is more succinctly expressed as `map(|x| y)` [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:582:3 [INFO] [stdout] | [INFO] [stdout] 582 | / String::deserialize(deserializer) [INFO] [stdout] 583 | | .and_then(|string| { [INFO] [stdout] 584 | | base64::decode(&string).map_err(|err| Error::custom(err.to_string())) [INFO] [stdout] 585 | | }) [INFO] [stdout] ... | [INFO] [stdout] 589 | | Ok(Uuid::from_bytes(b)) [INFO] [stdout] 590 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bind_instead_of_map [INFO] [stdout] help: use `map` instead [INFO] [stdout] | [INFO] [stdout] 586 ~ .map(|bytes: Vec| { [INFO] [stdout] 587 | let mut b = [0u8; 16]; [INFO] [stdout] 588 | b.copy_from_slice(&bytes[0..16]); [INFO] [stdout] 589 ~ Uuid::from_bytes(b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:639:14 [INFO] [stdout] | [INFO] [stdout] 639 | pub_key: d_pub_key.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `d_pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signature` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/ser.rs:641:10 [INFO] [stdout] | [INFO] [stdout] 641 | sig: d_sig.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `d_sig` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:166:14 [INFO] [stdout] | [INFO] [stdout] 166 | let keys = match rec_keys { [INFO] [stdout] | ____________________^ [INFO] [stdout] 167 | | Ok(k) => k, [INFO] [stdout] 168 | | Err(e) => return Err(e), [INFO] [stdout] 169 | | }; [INFO] [stdout] | |_________^ help: try instead: `rec_keys?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> libwallet/src/slate_versions/v4.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | //! value - the value of their inputs' blinding factors [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 37 | //! value - the value of their inputs' blinding factors [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/slatepack/types.rs:199:38 [INFO] [stdout] | [INFO] [stdout] 199 | bech32::encode("age-secret-key-", (&x_dec_secret).to_bytes().to_base32())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `x_dec_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/types.rs:417:2 [INFO] [stdout] | [INFO] [stdout] 417 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/types.rs:425:2 [INFO] [stdout] | [INFO] [stdout] 425 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:436:10 [INFO] [stdout] | [INFO] [stdout] 436 | match u8::from_str_radix(v[0], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[0].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:440:10 [INFO] [stdout] | [INFO] [stdout] 440 | match u8::from_str_radix(v[1], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[1].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> libwallet/src/slatepack/types.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | if len as u16 > std::u16::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 563 - if len as u16 > std::u16::MAX { [INFO] [stdout] 563 + if len as u16 > u16::MAX { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:79:2 [INFO] [stdout] | [INFO] [stdout] 79 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:89:2 [INFO] [stdout] | [INFO] [stdout] 89 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:98:2 [INFO] [stdout] | [INFO] [stdout] 98 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/types.rs:360:7 [INFO] [stdout] | [INFO] [stdout] 360 | ) -> Result< [INFO] [stdout] | __________^ [INFO] [stdout] 361 | | ( [INFO] [stdout] 362 | | u64, [INFO] [stdout] 363 | | u64, [INFO] [stdout] ... | [INFO] [stdout] 366 | | Error, [INFO] [stdout] 367 | | >; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> libwallet/src/types.rs:497:3 [INFO] [stdout] | [INFO] [stdout] 497 | / match self.status { [INFO] [stdout] 498 | | OutputStatus::Unspent => self.status = OutputStatus::Reverted, [INFO] [stdout] 499 | | _ => (), [INFO] [stdout] 500 | | } [INFO] [stdout] | |_________^ help: try: `if self.status == OutputStatus::Unspent { self.status = OutputStatus::Reverted }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:71:28 [INFO] [stdout] | [INFO] [stdout] 71 | writer.write_fixed_bytes(&self.0.as_bytes()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `self.0.as_bytes()` [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] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:214:7 [INFO] [stdout] | [INFO] [stdout] 214 | 0 | _ => None, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:255:16 [INFO] [stdout] | [INFO] [stdout] 255 | ComsWrapRef(&c).write(writer)?; [INFO] [stdout] | ^^ help: change this to: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | ProofWrapRef(&p).write(writer)?; [INFO] [stdout] | ^^ help: change this to: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:317:7 [INFO] [stdout] | [INFO] [stdout] 317 | 0 | _ => None, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:338:30 [INFO] [stdout] | [INFO] [stdout] 338 | writer.write_fixed_bytes(&s.to_bytes().to_vec())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `s.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_vec` [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:338:30 [INFO] [stdout] | [INFO] [stdout] 338 | writer.write_fixed_bytes(&s.to_bytes().to_vec())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `s.to_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | 1 | _ => Some(DalekSignature::try_from(&reader.read_fixed_bytes(64)?[..]).unwrap()), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `CommitsV4` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:537:12 [INFO] [stdout] | [INFO] [stdout] 537 | coms.push(com1.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `com1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `CommitsV4` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:538:12 [INFO] [stdout] | [INFO] [stdout] 538 | coms.push(com1.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `com1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `CommitsV4` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:539:12 [INFO] [stdout] | [INFO] [stdout] 539 | coms.push(com1.clone()); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `com1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:536:2 [INFO] [stdout] | [INFO] [stdout] 536 | / let mut coms = vec![]; [INFO] [stdout] 537 | | coms.push(com1.clone()); [INFO] [stdout] 538 | | coms.push(com1.clone()); [INFO] [stdout] 539 | | coms.push(com1.clone()); [INFO] [stdout] 540 | | coms.push(com2); [INFO] [stdout] | |____________________^ help: consider using the `vec![]` macro: `let coms = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:552:2 [INFO] [stdout] | [INFO] [stdout] 552 | let _ = grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 552 - let _ = grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] 552 + grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:574:10 [INFO] [stdout] | [INFO] [stdout] 574 | raddr: d_pkey.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `d_pkey` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:575:10 [INFO] [stdout] | [INFO] [stdout] 575 | saddr: d_pkey.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `d_pkey` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> libwallet/src/slate_versions/v4_bin.rs:582:2 [INFO] [stdout] | [INFO] [stdout] 582 | let _ = grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 582 - let _ = grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] 582 + grin_ser::serialize_default(&mut vec, &v4_bin).expect("serialization failed"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> libwallet/src/slatepack/address.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | pub_key: pub_key.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*pub_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> libwallet/src/slatepack/address.rs:68:6 [INFO] [stdout] | [INFO] [stdout] 68 | Ok(encoded.as_bytes().len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `encoded.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slatepack/address.rs:89:36 [INFO] [stdout] | [INFO] [stdout] 89 | let (hrp, data) = bech32::decode(&encoded)?; [INFO] [stdout] | ^^^^^^^^ help: change this to: `encoded` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/address.rs:159:2 [INFO] [stdout] | [INFO] [stdout] 159 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> libwallet/src/slatepack/address.rs:221:28 [INFO] [stdout] | [INFO] [stdout] 221 | writer.write_fixed_bytes(&bytes) [INFO] [stdout] | ^^^^^^ help: change this to: `bytes` [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] [INFO] [stdout] [INFO] [stdout] warning: unneeded use of `concat!` macro [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | Regex::new(concat!(r"^[>\n\r\t ]*BEGINSLATEPACK[>\n\r\t ]*$")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `"^[>\\n\\r\\t ]*BEGINSLATEPACK[>\\n\\r\\t ]*$"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_concat [INFO] [stdout] = note: `#[warn(clippy::useless_concat)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded use of `concat!` macro [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:56:14 [INFO] [stdout] | [INFO] [stdout] 56 | Regex::new(concat!(r"^[>\n\r\t ]*ENDSLATEPACK[>\n\r\t ]*$")).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `"^[>\\n\\r\\t ]*ENDSLATEPACK[>\\n\\r\\t ]*$"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_concat [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let payload_bytes = armor_bytes[header_len as usize..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `header_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> libwallet/src/slatepack/armor.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | let footer_bytes = armor_bytes[consumed_bytes as usize..] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `consumed_bytes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | let msg = format!("Data invalid length"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Data invalid length".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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | SlatepackArmor::encode(&slatepack) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `slatepack` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> libwallet/src/slatepack/packer.rs:119:3 [INFO] [stdout] | [INFO] [stdout] 119 | Ok(Slate::upgrade(slate_bin.into())?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 119 - Ok(Slate::upgrade(slate_bin.into())?) [INFO] [stdout] 119 + Slate::upgrade(slate_bin.into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:166:14 [INFO] [stdout] | [INFO] [stdout] 166 | let keys = match rec_keys { [INFO] [stdout] | ____________________^ [INFO] [stdout] 167 | | Ok(k) => k, [INFO] [stdout] 168 | | Err(e) => return Err(e), [INFO] [stdout] 169 | | }; [INFO] [stdout] | |_________^ help: try instead: `rec_keys?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> libwallet/src/slatepack/types.rs:199:38 [INFO] [stdout] | [INFO] [stdout] 199 | bech32::encode("age-secret-key-", (&x_dec_secret).to_bytes().to_base32())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `x_dec_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/types.rs:417:2 [INFO] [stdout] | [INFO] [stdout] 417 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1036:2 [INFO] [stdout] | [INFO] [stdout] 1036 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/slatepack/types.rs:425:2 [INFO] [stdout] | [INFO] [stdout] 425 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1038:2 [INFO] [stdout] | [INFO] [stdout] 1038 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1040:2 [INFO] [stdout] | [INFO] [stdout] 1040 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1042:2 [INFO] [stdout] | [INFO] [stdout] 1042 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1044:2 [INFO] [stdout] | [INFO] [stdout] 1044 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1046:2 [INFO] [stdout] | [INFO] [stdout] 1046 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:436:10 [INFO] [stdout] | [INFO] [stdout] 436 | match u8::from_str_radix(v[0], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[0].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:440:10 [INFO] [stdout] | [INFO] [stdout] 440 | match u8::from_str_radix(v[1], 10) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v[1].parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/types.rs:1053:4 [INFO] [stdout] | [INFO] [stdout] 1053 | 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] 1053 - return 0; [INFO] [stdout] 1053 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1066:2 [INFO] [stdout] | [INFO] [stdout] 1066 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1077:2 [INFO] [stdout] | [INFO] [stdout] 1077 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> libwallet/src/slatepack/types.rs:563:20 [INFO] [stdout] | [INFO] [stdout] 563 | if len as u16 > std::u16::MAX { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 563 - if len as u16 > std::u16::MAX { [INFO] [stdout] 563 + if len as u16 > u16::MAX { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `ser` [INFO] [stdout] --> libwallet/src/slatepack/types.rs:723:11 [INFO] [stdout] | [INFO] [stdout] 723 | for i in 0..end_head_pos { [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] 723 - for i in 0..end_head_pos { [INFO] [stdout] 723 + for in ser.iter().take(end_head_pos) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: it looks like you're manually copying between slices [INFO] [stdout] --> libwallet/src/slatepack/types.rs:743:2 [INFO] [stdout] | [INFO] [stdout] 743 | / for i in 0..wtr.len() { [INFO] [stdout] 744 | | new_bytes[5 + i] = wtr[i]; [INFO] [stdout] 745 | | } [INFO] [stdout] | |_____^ help: try replacing the loop by: `new_bytes[5..(wtr.len() + 5)].copy_from_slice(&wtr[..]);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stdout] = note: `#[warn(clippy::manual_memcpy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> libwallet/src/slatepack/types.rs:775:2 [INFO] [stdout] | [INFO] [stdout] 775 | slatepack.sender = Some(SlatepackAddress::random()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `slatepack::types::Slatepack { sender: Some(SlatepackAddress::random()), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> libwallet/src/slatepack/types.rs:774:2 [INFO] [stdout] | [INFO] [stdout] 774 | let mut slatepack = super::Slatepack::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] --> libwallet/src/slatepack/types.rs:824:2 [INFO] [stdout] | [INFO] [stdout] 824 | slatepack.sender = Some(SlatepackAddress::random()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `slatepack::types::Slatepack { sender: Some(SlatepackAddress::random()), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> libwallet/src/slatepack/types.rs:823:2 [INFO] [stdout] | [INFO] [stdout] 823 | let mut slatepack = Slatepack::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] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:79:2 [INFO] [stdout] | [INFO] [stdout] 79 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:89:2 [INFO] [stdout] | [INFO] [stdout] 89 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:98:2 [INFO] [stdout] | [INFO] [stdout] 98 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> libwallet/src/types.rs:360:7 [INFO] [stdout] | [INFO] [stdout] 360 | ) -> Result< [INFO] [stdout] | __________^ [INFO] [stdout] 361 | | ( [INFO] [stdout] 362 | | u64, [INFO] [stdout] 363 | | u64, [INFO] [stdout] ... | [INFO] [stdout] 366 | | Error, [INFO] [stdout] 367 | | >; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> libwallet/src/types.rs:497:3 [INFO] [stdout] | [INFO] [stdout] 497 | / match self.status { [INFO] [stdout] 498 | | OutputStatus::Unspent => self.status = OutputStatus::Reverted, [INFO] [stdout] 499 | | _ => (), [INFO] [stdout] 500 | | } [INFO] [stdout] | |_________^ help: try: `if self.status == OutputStatus::Unspent { self.status = OutputStatus::Reverted }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1036:2 [INFO] [stdout] | [INFO] [stdout] 1036 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1038:2 [INFO] [stdout] | [INFO] [stdout] 1038 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1040:2 [INFO] [stdout] | [INFO] [stdout] 1040 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1042:2 [INFO] [stdout] | [INFO] [stdout] 1042 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1044:2 [INFO] [stdout] | [INFO] [stdout] 1044 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1046:2 [INFO] [stdout] | [INFO] [stdout] 1046 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> libwallet/src/types.rs:1053:4 [INFO] [stdout] | [INFO] [stdout] 1053 | 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] 1053 - return 0; [INFO] [stdout] 1053 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1066:2 [INFO] [stdout] | [INFO] [stdout] 1066 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> libwallet/src/types.rs:1077:2 [INFO] [stdout] | [INFO] [stdout] 1077 | /// [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing or filling it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:142:11 [INFO] [stdout] | [INFO] [stdout] 142 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:174:11 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:226:11 [INFO] [stdout] | [INFO] [stdout] 226 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:236:11 [INFO] [stdout] | [INFO] [stdout] 236 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:59:42 [INFO] [stdout] | [INFO] [stdout] 59 | .commit(0, blinding_factor.secret_key(&keychain.secp()).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | let blind = blinding_factor.secret_key(&keychain.secp()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:80:31 [INFO] [stdout] | [INFO] [stdout] 80 | s_cx = Context::with_excess(&keychain.secp(), blind, &parent, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:81:24 [INFO] [stdout] | [INFO] [stdout] 81 | s_cx.get_public_keys(&keychain.secp()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:94:32 [INFO] [stdout] | [INFO] [stdout] 94 | rx_cx = Context::with_excess(&keychain.secp(), blind, &parent, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:95:55 [INFO] [stdout] | [INFO] [stdout] 95 | let (pub_excess, pub_nonce) = rx_cx.get_public_keys(&keychain.secp()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:135:4 [INFO] [stdout] | [INFO] [stdout] 135 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:234:38 [INFO] [stdout] | [INFO] [stdout] 234 | aggsig::verify_single_from_commit(&keychain.secp(), &final_sig, &msg, &kernel_excess); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:360:11 [INFO] [stdout] | [INFO] [stdout] 360 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:392:11 [INFO] [stdout] | [INFO] [stdout] 392 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:443:11 [INFO] [stdout] | [INFO] [stdout] 443 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this boolean expression can be simplified [INFO] [stdout] --> libwallet/tests/libwallet.rs:453:11 [INFO] [stdout] | [INFO] [stdout] 453 | assert!(!sig_verifies.is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `sig_verifies.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:250:37 [INFO] [stdout] | [INFO] [stdout] 250 | let kernel_offset = SecretKey::new(&sender_keychain.secp(), &mut thread_rng()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `sender_keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:273:42 [INFO] [stdout] | [INFO] [stdout] 273 | .commit(0, blinding_factor.secret_key(&keychain.secp()).unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:297:42 [INFO] [stdout] | [INFO] [stdout] 297 | let blind = blinding_factor.secret_key(&keychain.secp()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:299:31 [INFO] [stdout] | [INFO] [stdout] 299 | s_cx = Context::with_excess(&keychain.secp(), blind, &parent, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | s_cx.get_public_keys(&keychain.secp()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:312:32 [INFO] [stdout] | [INFO] [stdout] 312 | rx_cx = Context::with_excess(&keychain.secp(), blind, &parent, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:313:55 [INFO] [stdout] | [INFO] [stdout] 313 | let (pub_excess, pub_nonce) = rx_cx.get_public_keys(&keychain.secp()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:336:4 [INFO] [stdout] | [INFO] [stdout] 336 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:368:4 [INFO] [stdout] | [INFO] [stdout] 368 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:385:4 [INFO] [stdout] | [INFO] [stdout] 385 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:400:4 [INFO] [stdout] | [INFO] [stdout] 400 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:411:4 [INFO] [stdout] | [INFO] [stdout] 411 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | &keychain.secp(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> libwallet/tests/libwallet.rs:451:38 [INFO] [stdout] | [INFO] [stdout] 451 | aggsig::verify_single_from_commit(&keychain.secp(), &final_sig, &msg, &kernel_excess); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: change this to: `keychain.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking hyper-rustls v0.20.0 [INFO] [stderr] Checking hyper-rustls v0.21.0 [INFO] [stderr] Checking hyper-timeout v0.3.1 [INFO] [stderr] Checking reqwest v0.10.10 [INFO] [stderr] Checking grin_api v5.3.3 [INFO] [stderr] Checking grin_wallet_impls v5.4.0-alpha.1 (/opt/rustwide/workdir/impls) [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> impls/src/adapters/slatepack.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | const SLATEPACK_DIR: &'static str = "target/test_output/slatepack"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> impls/src/client_utils/client.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use serde_json; [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] --> impls/src/client_utils/json_rpc.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:225:4 [INFO] [stdout] | [INFO] [stdout] 225 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:230:4 [INFO] [stdout] | [INFO] [stdout] 230 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:260:4 [INFO] [stdout] | [INFO] [stdout] 260 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> impls/src/lifecycle/seed.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use serde_json; [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: redundant field names in struct initialization [INFO] [stdout] --> impls/src/node_clients/http.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | node_api_secret: node_api_secret, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `node_api_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/test_framework/testclient.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/test_framework/testclient.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | rx: rx, [INFO] [stdout] | ^^^^^^ help: replace it with: `rx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:562:7 [INFO] [stdout] | [INFO] [stdout] 562 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:569:7 [INFO] [stdout] | [INFO] [stdout] 569 | option: option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:608:7 [INFO] [stdout] | [INFO] [stdout] 608 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:610:7 [INFO] [stdout] | [INFO] [stdout] 610 | front: front, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `front` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:611:7 [INFO] [stdout] | [INFO] [stdout] 611 | utls: utls, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `utls` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:612:7 [INFO] [stdout] | [INFO] [stdout] 612 | disablehpkp: disablehpkp, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disablehpkp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:617:7 [INFO] [stdout] | [INFO] [stdout] 617 | option: option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:641:7 [INFO] [stdout] | [INFO] [stdout] 641 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/lib.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | lc_provider: lc_provider, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lc_provider` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> impls/src/client_utils/client.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use serde_json; [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] --> impls/src/client_utils/json_rpc.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | params: params, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:225:4 [INFO] [stdout] | [INFO] [stdout] 225 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:230:4 [INFO] [stdout] | [INFO] [stdout] 230 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:240:4 [INFO] [stdout] | [INFO] [stdout] 240 | data: data, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/client_utils/json_rpc.rs:260:4 [INFO] [stdout] | [INFO] [stdout] 260 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> impls/src/lifecycle/seed.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use serde_json; [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: redundant field names in struct initialization [INFO] [stdout] --> impls/src/node_clients/http.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | node_api_secret: node_api_secret, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `node_api_secret` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/test_framework/testclient.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/test_framework/testclient.rs:110:4 [INFO] [stdout] | [INFO] [stdout] 110 | rx: rx, [INFO] [stdout] | ^^^^^^ help: replace it with: `rx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:562:7 [INFO] [stdout] | [INFO] [stdout] 562 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:569:7 [INFO] [stdout] | [INFO] [stdout] 569 | option: option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:608:7 [INFO] [stdout] | [INFO] [stdout] 608 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:610:7 [INFO] [stdout] | [INFO] [stdout] 610 | front: front, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `front` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:611:7 [INFO] [stdout] | [INFO] [stdout] 611 | utls: utls, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `utls` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:612:7 [INFO] [stdout] | [INFO] [stdout] 612 | disablehpkp: disablehpkp, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disablehpkp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:617:7 [INFO] [stdout] | [INFO] [stdout] 617 | option: option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `option` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/tor/bridge.rs:641:7 [INFO] [stdout] | [INFO] [stdout] 641 | fingerprint: fingerprint, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fingerprint` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> impls/src/lib.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | lc_provider: lc_provider, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lc_provider` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> impls/src/adapters/http.rs:288:1 [INFO] [stdout] | [INFO] [stdout] 288 | impl Into for SchemeNotHttp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 288 ~ impl From for Error { [INFO] [stdout] 289 ~ fn from(val: SchemeNotHttp) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> impls/src/backends/lmdb.rs:81:16 [INFO] [stdout] | [INFO] [stdout] 81 | hasher.update(&slate_id[..]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use the original value instead: `slate_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> impls/src/backends/lmdb.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | hasher.update(&slate_id[..]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use the original value instead: `slate_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | &mut default_account.label.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `default_account.label.as_bytes().to_vec()` [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: creating a new box [INFO] [stdout] --> impls/src/backends/lmdb.rs:194:3 [INFO] [stdout] | [INFO] [stdout] 194 | self.master_checksum = Box::new(Some(hasher.finalize())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace existing content with inner value instead: `*self.master_checksum = Some(hasher.finalize())` [INFO] [stdout] | [INFO] [stdout] = note: this creates a needless allocation [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#replace_box [INFO] [stdout] = note: `#[warn(clippy::replace_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:204:34 [INFO] [stdout] | [INFO] [stdout] 204 | ... secp::key::SecretKey::new(&k.secp(), &mut test_rng) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `k.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:206:42 [INFO] [stdout] | [INFO] [stdout] 206 | false => secp::key::SecretKey::new(&k.secp(), &mut thread_rng()), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `k.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | .commit(amount, &id, SwitchCommitmentType::Regular)? [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:299:41 [INFO] [stdout] | [INFO] [stdout] 299 | Some(i) => to_key_u64(OUTPUT_PREFIX, &mut id.to_bytes().to_vec(), *i), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:300:34 [INFO] [stdout] | [INFO] [stdout] 300 | None => to_key(OUTPUT_PREFIX, &mut id.to_bytes().to_vec()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:309:52: 309:67}, grin_wallet_libwallet::OutputData>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:317:14 [INFO] [stdout] | [INFO] [stdout] 317 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:322:41 [INFO] [stdout] | [INFO] [stdout] 322 | let key = to_key(TX_LOG_ENTRY_PREFIX, &mut u.as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `u.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:329:58: 329:73}, grin_wallet_libwallet::TxLogEntry>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:337:14 [INFO] [stdout] | [INFO] [stdout] 337 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:346:55 [INFO] [stdout] | [INFO] [stdout] 346 | let ctx_key = to_key_u64(PRIVATE_TX_CONTEXT_PREFIX, &mut slate_id.to_vec(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `slate_id.to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:367:42: 367:57}, grin_wallet_libwallet::AcctPathMapping>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:375:14 [INFO] [stdout] | [INFO] [stdout] 375 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:380:54 [INFO] [stdout] | [INFO] [stdout] 380 | let acct_key = to_key(ACCOUNT_PATH_MAPPING_PREFIX, &mut label.as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `label.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:392:23 [INFO] [stdout] | [INFO] [stdout] 392 | stored_tx.write_all(&tx_hex.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `tx_hex.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:439:41 [INFO] [stdout] | [INFO] [stdout] 439 | let deriv_key = to_key(DERIV_PREFIX, &mut parent_key_id.to_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> impls/src/backends/lmdb.rs:440:4 [INFO] [stdout] | [INFO] [stdout] 440 | / match batch.get_ser(&deriv_key, None)? { [INFO] [stdout] 441 | | Some(idx) => idx, [INFO] [stdout] 442 | | None => 0, [INFO] [stdout] 443 | | } [INFO] [stdout] | |_____________^ help: ascribe the type u32 and replace your expression with: `batch.get_ser(&deriv_key, None)?.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:452:41 [INFO] [stdout] | [INFO] [stdout] 452 | let deriv_key = to_key(DERIV_PREFIX, &mut self.parent_key_id.to_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.parent_key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> impls/src/backends/lmdb.rs:453:4 [INFO] [stdout] | [INFO] [stdout] 453 | / match batch.get_ser(&deriv_key, None)? { [INFO] [stdout] 454 | | Some(idx) => idx, [INFO] [stdout] 455 | | None => 0, [INFO] [stdout] 456 | | } [INFO] [stdout] | |_____________^ help: ascribe the type u32 and replace your expression with: `batch.get_ser(&deriv_key, None)?.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:472:4 [INFO] [stdout] | [INFO] [stdout] 472 | &mut self.parent_key_id.to_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.parent_key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> impls/src/backends/lmdb.rs:474:31 [INFO] [stdout] | [INFO] [stdout] 474 | let last_confirmed_height = match batch.get_ser(&height_key, None)? { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 475 | | Some(h) => h, [INFO] [stdout] 476 | | None => 0, [INFO] [stdout] 477 | | }; [INFO] [stdout] | |_________^ help: ascribe the type u64 and replace your expression with: `batch.get_ser(&height_key, None)?.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:485:4 [INFO] [stdout] | [INFO] [stdout] 485 | &mut LAST_SCANNED_KEY.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `LAST_SCANNED_KEY.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:503:4 [INFO] [stdout] | [INFO] [stdout] 503 | &mut WALLET_INIT_STATUS_KEY.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `WALLET_INIT_STATUS_KEY.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:540:42 [INFO] [stdout] | [INFO] [stdout] 540 | Some(i) => to_key_u64(OUTPUT_PREFIX, &mut out.key_id.to_bytes().to_vec(), i), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `out.key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:541:35 [INFO] [stdout] | [INFO] [stdout] 541 | None => to_key(OUTPUT_PREFIX, &mut out.key_id.to_bytes().to_vec()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `out.key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:551:41 [INFO] [stdout] | [INFO] [stdout] 551 | Some(i) => to_key_u64(OUTPUT_PREFIX, &mut id.to_bytes().to_vec(), *i), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:552:34 [INFO] [stdout] | [INFO] [stdout] 552 | None => to_key(OUTPUT_PREFIX, &mut id.to_bytes().to_vec()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:566:47: 566:62}, grin_wallet_libwallet::OutputData>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:574:14 [INFO] [stdout] | [INFO] [stdout] 574 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:582:42 [INFO] [stdout] | [INFO] [stdout] 582 | Some(i) => to_key_u64(OUTPUT_PREFIX, &mut id.to_bytes().to_vec(), *i), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:583:35 [INFO] [stdout] | [INFO] [stdout] 583 | None => to_key(OUTPUT_PREFIX, &mut id.to_bytes().to_vec()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:592:44 [INFO] [stdout] | [INFO] [stdout] 592 | let tx_id_key = to_key(TX_LOG_ID_PREFIX, &mut parent_key_id.to_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> impls/src/backends/lmdb.rs:593:24 [INFO] [stdout] | [INFO] [stdout] 593 | let last_tx_log_id = match self [INFO] [stdout] | ______________________________^ [INFO] [stdout] 594 | | .db [INFO] [stdout] 595 | | .borrow() [INFO] [stdout] 596 | | .as_ref() [INFO] [stdout] ... | [INFO] [stdout] 601 | | None => 0, [INFO] [stdout] 602 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] help: ascribe the type u32 and replace your expression with [INFO] [stdout] | [INFO] [stdout] 593 ~ let last_tx_log_id = self [INFO] [stdout] 594 ~ .db [INFO] [stdout] 595 ~ .borrow() [INFO] [stdout] 596 ~ .as_ref() [INFO] [stdout] 597 ~ .unwrap() [INFO] [stdout] 598 ~ .get_ser(&tx_id_key, None)?.unwrap_or_default(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:616:53: 616:68}, grin_wallet_libwallet::TxLogEntry>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:624:14 [INFO] [stdout] | [INFO] [stdout] 624 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:635:4 [INFO] [stdout] | [INFO] [stdout] 635 | &mut parent_key_id.to_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_key_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:648:4 [INFO] [stdout] | [INFO] [stdout] 648 | &mut LAST_SCANNED_KEY.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `LAST_SCANNED_KEY.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:661:4 [INFO] [stdout] | [INFO] [stdout] 661 | &mut WALLET_INIT_STATUS_KEY.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `WALLET_INIT_STATUS_KEY.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> impls/src/adapters/http.rs:288:1 [INFO] [stdout] | [INFO] [stdout] 288 | impl Into for SchemeNotHttp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 288 ~ impl From for Error { [INFO] [stdout] 289 ~ fn from(val: SchemeNotHttp) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:672:40 [INFO] [stdout] | [INFO] [stdout] 672 | let deriv_key = to_key(DERIV_PREFIX, &mut parent_id.to_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:688:4 [INFO] [stdout] | [INFO] [stdout] 688 | &mut parent_id.to_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `parent_id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:702:4 [INFO] [stdout] | [INFO] [stdout] 702 | &mut mapping.label.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `mapping.label.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:717:61: 717:76}, grin_wallet_libwallet::AcctPathMapping>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:725:14 [INFO] [stdout] | [INFO] [stdout] 725 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:735:55 [INFO] [stdout] | [INFO] [stdout] 735 | let ctx_key = to_key_u64(PRIVATE_TX_CONTEXT_PREFIX, &mut slate_id.to_vec(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `slate_id.to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:753:55 [INFO] [stdout] | [INFO] [stdout] 753 | let ctx_key = to_key_u64(PRIVATE_TX_CONTEXT_PREFIX, &mut slate_id.to_vec(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `slate_id.to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> impls/src/client_utils/client.rs:52:2 [INFO] [stdout] | [INFO] [stdout] 52 | RequestError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [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: variant name ends with the enum's name [INFO] [stdout] --> impls/src/client_utils/client.rs:54:2 [INFO] [stdout] | [INFO] [stdout] 54 | ResponseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> impls/src/client_utils/client.rs:100:14 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn _get<'a, T>(&self, url: &'a str, api_secret: Option) -> Result [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 100 - pub fn _get<'a, T>(&self, url: &'a str, api_secret: Option) -> Result [INFO] [stdout] 100 + pub fn _get(&self, url: &str, api_secret: Option) -> Result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> impls/src/client_utils/client.rs:110:26 [INFO] [stdout] | [INFO] [stdout] 110 | pub async fn _get_async<'a, T>( [INFO] [stdout] | ^^ [INFO] [stdout] 111 | &self, [INFO] [stdout] 112 | url: &'a str, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> impls/src/backends/lmdb.rs:81:16 [INFO] [stdout] | [INFO] [stdout] 81 | hasher.update(&slate_id[..]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use the original value instead: `slate_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> impls/src/backends/lmdb.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | hasher.update(&slate_id[..]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use the original value instead: `slate_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | &mut default_account.label.as_bytes().to_vec(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `default_account.label.as_bytes().to_vec()` [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: creating a new box [INFO] [stdout] --> impls/src/backends/lmdb.rs:194:3 [INFO] [stdout] | [INFO] [stdout] 194 | self.master_checksum = Box::new(Some(hasher.finalize())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace existing content with inner value instead: `*self.master_checksum = Some(hasher.finalize())` [INFO] [stdout] | [INFO] [stdout] = note: this creates a needless allocation [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#replace_box [INFO] [stdout] = note: `#[warn(clippy::replace_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:204:34 [INFO] [stdout] | [INFO] [stdout] 204 | ... secp::key::SecretKey::new(&k.secp(), &mut test_rng) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `k.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:206:42 [INFO] [stdout] | [INFO] [stdout] 206 | false => secp::key::SecretKey::new(&k.secp(), &mut thread_rng()), [INFO] [stdout] | ^^^^^^^^^ help: change this to: `k.secp()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | .commit(amount, &id, SwitchCommitmentType::Regular)? [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:299:41 [INFO] [stdout] | [INFO] [stdout] 299 | Some(i) => to_key_u64(OUTPUT_PREFIX, &mut id.to_bytes().to_vec(), *i), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:300:34 [INFO] [stdout] | [INFO] [stdout] 300 | None => to_key(OUTPUT_PREFIX, &mut id.to_bytes().to_vec()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `id.to_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:309:52: 309:67}, grin_wallet_libwallet::OutputData>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:317:14 [INFO] [stdout] | [INFO] [stdout] 317 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:322:41 [INFO] [stdout] | [INFO] [stdout] 322 | let key = to_key(TX_LOG_ENTRY_PREFIX, &mut u.as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `u.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:329:58: 329:73}, grin_wallet_libwallet::TxLogEntry>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:337:14 [INFO] [stdout] | [INFO] [stdout] 337 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:346:55 [INFO] [stdout] | [INFO] [stdout] 346 | let ctx_key = to_key_u64(PRIVATE_TX_CONTEXT_PREFIX, &mut slate_id.to_vec(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `slate_id.to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `grin_store::PrefixIterator<{closure@impls/src/backends/lmdb.rs:367:42: 367:57}, grin_wallet_libwallet::AcctPathMapping>` [INFO] [stdout] --> impls/src/backends/lmdb.rs:375:14 [INFO] [stdout] | [INFO] [stdout] 375 | let iter = prefix_iter.expect("deserialize").into_iter(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `prefix_iter.expect("deserialize")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/lifecycle/default.rs:78:58 [INFO] [stdout] | [INFO] [stdout] 78 | let mut default_config = GlobalWalletConfig::for_chain(&chain_type); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `chain_type` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> impls/src/backends/lmdb.rs:380:54 [INFO] [stdout] | [INFO] [stdout] 380 | let acct_key = to_key(ACCOUNT_PATH_MAPPING_PREFIX, &mut label.as_bytes().to_vec()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `label.as_bytes().to_vec()` [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] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> impls/src/backends/lmdb.rs:392:23 [INFO] [stdout] | [INFO] [stdout] 392 | stored_tx.write_all(&tx_hex.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `tx_hex.as_bytes()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [WARN] too many lines in the log, truncating it