[INFO] fetching crate grin_wallet_libwallet 5.3.3... [INFO] linting grin_wallet_libwallet-5.3.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate grin_wallet_libwallet 5.3.3 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate grin_wallet_libwallet 5.3.3 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate grin_wallet_libwallet 5.3.3 [INFO] tweaked toml for crates.io crate grin_wallet_libwallet 5.3.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate grin_wallet_libwallet 5.3.3 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 312 packages to latest compatible versions [INFO] [stderr] Adding age v0.7.2 (available: v0.11.2) [INFO] [stderr] Adding base64 v0.9.3 (available: v0.22.1) [INFO] [stderr] Adding bech32 v0.7.3 (available: v0.11.1) [INFO] [stderr] Adding bs58 v0.3.1 (available: v0.5.1) [INFO] [stderr] Adding curve25519-dalek v2.1.3 (available: v4.1.3) [INFO] [stderr] Adding curve25519-dalek v3.2.0 (available: v3.2.1) [INFO] [stderr] Adding ed25519-dalek v1.0.1 (available: v2.2.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v0.14.9) [INFO] [stderr] Adding num-bigint v0.2.6 (available: v0.4.6) [INFO] [stderr] Adding rand v0.6.5 (available: v0.10.0) [INFO] [stderr] Adding secrecy v0.6.0 (available: v0.10.3) [INFO] [stderr] Adding sha2 v0.8.2 (available: v0.10.9) [INFO] [stderr] Adding strum v0.18.0 (available: v0.28.0) [INFO] [stderr] Adding strum_macros v0.18.0 (available: v0.28.0) [INFO] [stderr] Adding subtle v2.4.1 (available: v2.6.1) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [INFO] [stderr] Adding uuid v0.8.2 (available: v1.22.0) [INFO] [stderr] Adding x25519-dalek v0.6.0 (available: v2.0.1) [INFO] [stderr] Adding x25519-dalek v1.1.1 (available: v1.2.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded strum v0.18.0 [INFO] [stderr] Downloaded grin_wallet_config v5.3.3 [INFO] [stderr] Downloaded strum_macros v0.18.0 [INFO] [stderr] Downloaded fluent-langneg v0.13.1 [INFO] [stderr] Downloaded grin_wallet_util v5.3.3 [INFO] [stderr] Downloaded secrecy v0.6.0 [INFO] [stderr] Downloaded intl_pluralrules v7.0.2 [INFO] [stderr] Downloaded age-core v0.7.1 [INFO] [stderr] Downloaded i18n-embed-fl v0.6.7 [INFO] [stderr] Downloaded i18n-config v0.4.8 [INFO] [stderr] Downloaded intl-memoizer v0.5.3 [INFO] [stderr] Downloaded rust-embed-utils v7.8.1 [INFO] [stderr] Downloaded self_cell v0.10.3 [INFO] [stderr] Downloaded cookie-factory v0.3.3 [INFO] [stderr] Downloaded i18n-embed-impl v0.8.4 [INFO] [stderr] Downloaded fluent-syntax v0.11.1 [INFO] [stderr] Downloaded fluent-bundle v0.15.3 [INFO] [stderr] Downloaded lmdb-zero v0.4.4 [INFO] [stderr] Downloaded age v0.7.2 [INFO] [stderr] Downloaded x25519-dalek v1.1.1 [INFO] [stderr] Downloaded grin_store v5.4.0 [INFO] [stderr] Downloaded liblmdb-sys v0.2.2 [INFO] [stderr] Downloaded hkdf v0.11.0 [INFO] [stderr] Downloaded grin_core v5.4.0 [INFO] [stderr] Downloaded croaring v1.1.0 [INFO] [stderr] Downloaded grin_keychain v5.4.0 [INFO] [stderr] Downloaded x25519-dalek v0.6.0 [INFO] [stderr] Downloaded croaring-sys v2.1.0 [INFO] [stderr] Downloaded grin_secp256k1zkp v0.7.15 [INFO] [stderr] Downloaded supercow v0.1.0 [INFO] [stderr] Downloaded salsa20 v0.9.0 [INFO] [stderr] Downloaded enum_primitive v0.1.1 [INFO] [stderr] Downloaded i18n-embed v0.13.9 [INFO] [stderr] Downloaded rust-embed-impl v6.8.1 [INFO] [stderr] Downloaded scrypt v0.8.1 [INFO] [stderr] Downloaded pbkdf2 v0.10.1 [INFO] [stderr] Downloaded fluent v0.16.1 [INFO] [stderr] Downloaded grin_util v5.4.0 [INFO] [stderr] Downloaded curve25519-dalek v2.1.3 [INFO] [stderr] Downloaded rust-embed v6.8.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 18569c41bd4ab62e673f3b259ce0d9ed4e748d0b513df4d2a1e5461077fcd0ff [INFO] running `Command { std: "docker" "start" "-a" "18569c41bd4ab62e673f3b259ce0d9ed4e748d0b513df4d2a1e5461077fcd0ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18569c41bd4ab62e673f3b259ce0d9ed4e748d0b513df4d2a1e5461077fcd0ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18569c41bd4ab62e673f3b259ce0d9ed4e748d0b513df4d2a1e5461077fcd0ff", kill_on_drop: false }` [INFO] [stdout] 18569c41bd4ab62e673f3b259ce0d9ed4e748d0b513df4d2a1e5461077fcd0ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] f1d3dc53bd6e818fc5dad885cdf5019ddfaf5075d59ea9daa0534c6f96eac62f [INFO] running `Command { std: "docker" "start" "-a" "f1d3dc53bd6e818fc5dad885cdf5019ddfaf5075d59ea9daa0534c6f96eac62f", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking arc-swap v1.8.2 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Compiling grin_secp256k1zkp v0.7.15 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking sha2 v0.9.9 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking object v0.37.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking parking_lot_core v0.7.3 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking thread-id v5.1.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking mock_instant v0.6.0 [INFO] [stderr] Compiling type-map v0.5.1 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling croaring-sys v2.1.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Compiling self_cell v1.2.2 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling rust-embed-utils v7.8.1 [INFO] [stderr] Compiling self_cell v0.10.3 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking password-hash v0.2.3 [INFO] [stderr] Compiling liblmdb-sys v0.2.2 [INFO] [stderr] Checking blake2-rfc v0.2.18 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking universal-hash v0.4.1 [INFO] [stderr] Checking ripemd160 v0.9.1 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking poly1305 v0.7.2 [INFO] [stderr] Checking pbkdf2 v0.8.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Checking aead v0.4.3 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Checking keccak v0.1.6 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking sha3 v0.8.2 [INFO] [stderr] Checking salsa20 v0.9.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking pbkdf2 v0.10.1 [INFO] [stderr] Checking hkdf v0.11.0 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Checking supercow v0.1.0 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking scrypt v0.8.1 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Checking bech32 v0.8.1 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Checking bs58 v0.3.1 [INFO] [stderr] Checking strum v0.18.0 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling strum_macros v0.18.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling rust-embed-impl v6.8.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Checking croaring v1.1.0 [INFO] [stderr] Compiling rust-embed v6.8.1 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Checking backtrace v0.3.76 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking curve25519-dalek v3.2.0 [INFO] [stderr] Checking chacha20 v0.8.2 [INFO] [stderr] Checking secrecy v0.8.0 [INFO] [stderr] Checking curve25519-dalek v2.1.3 [INFO] [stderr] Checking secrecy v0.6.0 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking chacha20poly1305 v0.9.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking lmdb-zero v0.4.4 [INFO] [stderr] Compiling fluent-syntax v0.11.1 [INFO] [stderr] Checking zip v0.5.13 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking pin-project v1.1.11 [INFO] [stderr] Checking x25519-dalek v1.1.1 [INFO] [stderr] Checking x25519-dalek v0.6.0 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking unic-langid-impl v0.9.6 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking ed25519-dalek v1.0.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Checking unic-langid v0.9.6 [INFO] [stderr] Checking fluent-langneg v0.13.1 [INFO] [stderr] Checking intl-memoizer v0.5.3 [INFO] [stderr] Checking intl_pluralrules v7.0.2 [INFO] [stderr] Checking fluent-bundle v0.15.3 [INFO] [stderr] Compiling i18n-config v0.4.8 [INFO] [stderr] Checking fluent v0.16.1 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Compiling find-crate v0.6.3 [INFO] [stderr] Checking age-core v0.7.1 [INFO] [stderr] Checking log4rs v1.4.0 [INFO] [stderr] Compiling i18n-embed-impl v0.8.4 [INFO] [stderr] Compiling i18n-embed v0.13.9 [INFO] [stderr] Compiling i18n-embed-fl v0.6.7 [INFO] [stderr] Checking grin_util v5.4.0 [INFO] [stderr] Checking grin_keychain v5.4.0 [INFO] [stderr] Checking grin_wallet_util v5.3.3 [INFO] [stderr] Checking grin_core v5.4.0 [INFO] [stderr] Checking age v0.7.2 [INFO] [stderr] Checking grin_store v5.4.0 [INFO] [stderr] Checking grin_wallet_config v5.3.3 [INFO] [stderr] Checking grin_wallet_libwallet v5.3.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> src/api_impl/owner.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn accounts<'a, T: ?Sized, C, K>(w: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 51 | where [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] --> src/api_impl/owner.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn create_account_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 66 | 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] --> src/api_impl/owner.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn set_active_account<'a, T: ?Sized, C, K>(w: &mut T, label: &str) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 75 | where [INFO] [stdout] 76 | 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] --> src/api_impl/owner.rs:467:3 [INFO] [stdout] | [INFO] [stdout] 467 | 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] --> src/api_impl/owner.rs:468:3 [INFO] [stdout] | [INFO] [stdout] 468 | 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] --> src/api_impl/owner.rs:477:25 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn init_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 484 | 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] --> src/api_impl/owner.rs:593:29 [INFO] [stdout] | [INFO] [stdout] 593 | pub fn issue_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 600 | 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] --> src/api_impl/owner.rs:646:31 [INFO] [stdout] | [INFO] [stdout] 646 | pub fn process_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 654 | 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] --> src/api_impl/owner.rs:767:28 [INFO] [stdout] | [INFO] [stdout] 767 | pub fn tx_lock_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 773 | 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] --> src/api_impl/owner.rs:804:24 [INFO] [stdout] | [INFO] [stdout] 804 | pub fn finalize_tx<'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] --> src/api_impl/owner.rs:847:26 [INFO] [stdout] | [INFO] [stdout] 847 | pub fn get_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 853 | 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] --> src/api_impl/owner.rs:1169:22 [INFO] [stdout] | [INFO] [stdout] 1169 | pub fn check_ttl<'a, T: ?Sized, C, K>(w: &mut T, slate: &Slate) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 1170 | where [INFO] [stdout] 1171 | 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] --> src/api_impl/owner.rs:1335:25 [INFO] [stdout] | [INFO] [stdout] 1335 | pub fn build_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1342 | 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] --> src/api_impl/owner.rs:1368:3 [INFO] [stdout] | [INFO] [stdout] 1368 | 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] --> src/api_impl/owner.rs:1369:3 [INFO] [stdout] | [INFO] [stdout] 1369 | 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: this import is redundant [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> src/api_impl/owner.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn accounts<'a, T: ?Sized, C, K>(w: &mut T) -> Result, Error> [INFO] [stdout] | ^ [INFO] [stdout] 51 | where [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] --> src/api_impl/owner.rs:60:32 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn create_account_path<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 66 | 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] --> src/api_impl/owner.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn set_active_account<'a, T: ?Sized, C, K>(w: &mut T, label: &str) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 75 | where [INFO] [stdout] 76 | 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] --> src/api_impl/owner.rs:467:3 [INFO] [stdout] | [INFO] [stdout] 467 | 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] --> src/api_impl/owner.rs:468:3 [INFO] [stdout] | [INFO] [stdout] 468 | 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] --> src/api_impl/owner.rs:477:25 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn init_send_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 484 | 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] --> src/api_impl/owner.rs:593:29 [INFO] [stdout] | [INFO] [stdout] 593 | pub fn issue_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 600 | 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] --> src/api_impl/owner.rs:646:31 [INFO] [stdout] | [INFO] [stdout] 646 | pub fn process_invoice_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 654 | 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] --> src/api_impl/owner.rs:767:28 [INFO] [stdout] | [INFO] [stdout] 767 | pub fn tx_lock_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 773 | 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] --> src/api_impl/owner.rs:804:24 [INFO] [stdout] | [INFO] [stdout] 804 | pub fn finalize_tx<'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] --> src/api_impl/owner.rs:847:26 [INFO] [stdout] | [INFO] [stdout] 847 | pub fn get_stored_tx<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 853 | 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] --> src/api_impl/owner.rs:1169:22 [INFO] [stdout] | [INFO] [stdout] 1169 | pub fn check_ttl<'a, T: ?Sized, C, K>(w: &mut T, slate: &Slate) -> Result<(), Error> [INFO] [stdout] | ^ [INFO] [stdout] 1170 | where [INFO] [stdout] 1171 | 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] --> src/api_impl/owner.rs:1335:25 [INFO] [stdout] | [INFO] [stdout] 1335 | pub fn build_output<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 1342 | 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] --> src/api_impl/owner.rs:1368:3 [INFO] [stdout] | [INFO] [stdout] 1368 | 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] --> src/api_impl/owner.rs:1369:3 [INFO] [stdout] | [INFO] [stdout] 1369 | 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: this import is redundant [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: this import is redundant [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] 102 | 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] --> 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] --> 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] --> src/internal/updater.rs:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn retrieve_txs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 338 | 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] --> 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] --> 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] --> 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] --> src/internal/updater.rs:382:28 [INFO] [stdout] | [INFO] [stdout] 382 | pub fn refresh_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 389 | 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] --> 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: bound is defined in more than one place [INFO] [stdout] --> src/internal/updater.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn map_wallet_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 407 | 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] --> src/internal/updater.rs:451:34 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn cancel_tx_and_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 459 | 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] --> src/internal/updater.rs:488:30 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn apply_api_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 498 | 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] --> 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] --> 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] --> 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] --> 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: bound is defined in more than one place [INFO] [stdout] --> src/internal/updater.rs:610:29 [INFO] [stdout] | [INFO] [stdout] 610 | fn refresh_output_state<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 618 | 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] --> src/internal/updater.rs:652:30 [INFO] [stdout] | [INFO] [stdout] 652 | fn find_reverted_kernels<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 659 | 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] --> src/internal/updater.rs:699:30 [INFO] [stdout] | [INFO] [stdout] 699 | fn clean_old_unconfirmed<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 705 | 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] --> 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: bound is defined in more than one place [INFO] [stdout] --> src/internal/updater.rs:732:26 [INFO] [stdout] | [INFO] [stdout] 732 | pub fn retrieve_info<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 738 | 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] --> src/internal/updater.rs:798:27 [INFO] [stdout] | [INFO] [stdout] 798 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 805 | 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] --> src/internal/updater.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | pub fn receive_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 827 | 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] --> src/internal/updater.rs:854:4 [INFO] [stdout] | [INFO] [stdout] 854 | 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] --> src/internal/updater.rs:857:4 [INFO] [stdout] | [INFO] [stdout] 857 | 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] --> src/internal/updater.rs:858:4 [INFO] [stdout] | [INFO] [stdout] 858 | 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: this import is redundant [INFO] [stdout] --> 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] --> 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] = 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] --> 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] --> 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] --> 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: empty line after doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: redundant field names in struct initialization [INFO] [stdout] --> 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: bound is defined in more than one place [INFO] [stdout] --> 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: empty line after doc comment [INFO] [stdout] --> 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: bound is defined in more than one place [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] 102 | 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] --> src/internal/updater.rs:329:25 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn retrieve_txs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 338 | 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] --> src/internal/updater.rs:382:28 [INFO] [stdout] | [INFO] [stdout] 382 | pub fn refresh_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 389 | 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] --> src/internal/updater.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn map_wallet_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 407 | 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] --> src/internal/updater.rs:451:34 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn cancel_tx_and_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 459 | 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] --> src/internal/updater.rs:488:30 [INFO] [stdout] | [INFO] [stdout] 488 | pub fn apply_api_outputs<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 498 | 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] --> src/internal/updater.rs:610:29 [INFO] [stdout] | [INFO] [stdout] 610 | fn refresh_output_state<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 618 | 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] --> src/internal/updater.rs:652:30 [INFO] [stdout] | [INFO] [stdout] 652 | fn find_reverted_kernels<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 659 | 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] --> src/internal/updater.rs:699:30 [INFO] [stdout] | [INFO] [stdout] 699 | fn clean_old_unconfirmed<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 705 | 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] --> src/internal/updater.rs:732:26 [INFO] [stdout] | [INFO] [stdout] 732 | pub fn retrieve_info<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 738 | 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] --> src/internal/updater.rs:798:27 [INFO] [stdout] | [INFO] [stdout] 798 | pub fn build_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 805 | 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] --> src/internal/updater.rs:820:29 [INFO] [stdout] | [INFO] [stdout] 820 | pub fn receive_coinbase<'a, T: ?Sized, C, K>( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 827 | 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] --> src/internal/updater.rs:854:4 [INFO] [stdout] | [INFO] [stdout] 854 | 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] --> src/internal/updater.rs:857:4 [INFO] [stdout] | [INFO] [stdout] 857 | 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] --> src/internal/updater.rs:858:4 [INFO] [stdout] | [INFO] [stdout] 858 | 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: this import is redundant [INFO] [stdout] --> 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] --> 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] = 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: this import is redundant [INFO] [stdout] --> 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] --> 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] --> 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] --> 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: redundant field names in struct initialization [INFO] [stdout] --> 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] --> 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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> 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] --> 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] --> 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] --> src/api_impl/owner.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | 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] --> src/api_impl/owner.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | 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] --> src/api_impl/owner.rs:122:15 [INFO] [stdout] | [INFO] [stdout] 122 | 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] --> src/api_impl/owner.rs:150:15 [INFO] [stdout] | [INFO] [stdout] 150 | 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] --> src/api_impl/owner.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | 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] --> src/api_impl/owner.rs:194:3 [INFO] [stdout] | [INFO] [stdout] 194 | 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] 194 - return packer.get_slate(&slatepack); [INFO] [stdout] 194 + packer.get_slate(&slatepack) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/api_impl/owner.rs:216:3 [INFO] [stdout] | [INFO] [stdout] 216 | / return Err(Error::SlatepackDecryption( [INFO] [stdout] 217 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 | | .to_owned(), [INFO] [stdout] 219 | | ) [INFO] [stdout] 220 | | .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] 216 ~ Err(Error::SlatepackDecryption( [INFO] [stdout] 217 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 ~ .to_owned(), [INFO] [stdout] 219 ~ ) [INFO] [stdout] 220 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/api_impl/owner.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | 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] --> src/api_impl/owner.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | return Err(Error::SlatepackDecryption( [INFO] [stdout] | ____________________^ [INFO] [stdout] 217 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 | | .to_owned(), [INFO] [stdout] 219 | | ) [INFO] [stdout] 220 | | .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] 216 ~ return Err(Error::SlatepackDecryption( [INFO] [stdout] 217 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 ~ .to_owned(), [INFO] [stdout] 219 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/api_impl/owner.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | 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] --> src/api_impl/owner.rs:255:14 [INFO] [stdout] | [INFO] [stdout] 255 | 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] --> src/api_impl/owner.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | 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] --> src/api_impl/owner.rs:312:15 [INFO] [stdout] | [INFO] [stdout] 312 | 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] --> src/api_impl/owner.rs:352:15 [INFO] [stdout] | [INFO] [stdout] 352 | 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] --> src/api_impl/owner.rs:382:15 [INFO] [stdout] | [INFO] [stdout] 382 | 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] --> src/api_impl/owner.rs:782:5 [INFO] [stdout] | [INFO] [stdout] 782 | 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] --> src/api_impl/owner.rs:819:15 [INFO] [stdout] | [INFO] [stdout] 819 | 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] --> src/api_impl/owner.rs:915:15 [INFO] [stdout] | [INFO] [stdout] 915 | 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] --> src/api_impl/owner.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | 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] --> src/api_impl/owner.rs:937:21 [INFO] [stdout] | [INFO] [stdout] 937 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 938 | | Some(h) => h, [INFO] [stdout] 939 | | None => 1, [INFO] [stdout] 940 | | }; [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] --> src/api_impl/owner.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | 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] --> src/api_impl/owner.rs:973:21 [INFO] [stdout] | [INFO] [stdout] 973 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 974 | | Some(h) => h, [INFO] [stdout] 975 | | None => 1, [INFO] [stdout] 976 | | }; [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] --> src/api_impl/owner.rs:998:15 [INFO] [stdout] | [INFO] [stdout] 998 | 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] --> src/api_impl/owner.rs:1018:17 [INFO] [stdout] | [INFO] [stdout] 1018 | let height = match outputs.1.iter().map(|m| m.output.height).max() { [INFO] [stdout] | __________________________^ [INFO] [stdout] 1019 | | Some(height) => height, [INFO] [stdout] 1020 | | None => 0, [INFO] [stdout] 1021 | | }; [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] --> src/api_impl/owner.rs:1033:15 [INFO] [stdout] | [INFO] [stdout] 1033 | 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] --> src/api_impl/owner.rs:1177:2 [INFO] [stdout] | [INFO] [stdout] 1177 | / if slate.ttl_cutoff_height != 0 { [INFO] [stdout] 1178 | | if last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1179 | | return Err(Error::TransactionExpired); [INFO] [stdout] 1180 | | } [INFO] [stdout] 1181 | | } [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] 1177 ~ if slate.ttl_cutoff_height != 0 [INFO] [stdout] 1178 ~ && last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1179 | return Err(Error::TransactionExpired); [INFO] [stdout] 1180 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/api_impl/owner.rs:1188:15 [INFO] [stdout] | [INFO] [stdout] 1188 | 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] --> src/api_impl/owner.rs:1257:15 [INFO] [stdout] | [INFO] [stdout] 1257 | 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] --> src/api_impl/owner.rs:1281:15 [INFO] [stdout] | [INFO] [stdout] 1281 | 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] --> src/api_impl/owner.rs:1283:7 [INFO] [stdout] | [INFO] [stdout] 1283 | 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] 1283 - txs: &mut Vec, [INFO] [stdout] 1283 + txs: &mut [TxLogEntry], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> 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] --> 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] --> 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] --> src/api_impl/types.rs:142:1 [INFO] [stdout] | [INFO] [stdout] 142 | / impl Default for IssueInvoiceTxArgs { [INFO] [stdout] 143 | | fn default() -> IssueInvoiceTxArgs { [INFO] [stdout] 144 | | IssueInvoiceTxArgs { [INFO] [stdout] 145 | | dest_acct_name: None, [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [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] 128 + #[derive(Default)] [INFO] [stdout] 129 | pub struct IssueInvoiceTxArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/internal/updater.rs:313:3 [INFO] [stdout] | [INFO] [stdout] 313 | / match s { [INFO] [stdout] 314 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 315 | | _ => {} [INFO] [stdout] 316 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/internal/updater.rs:312:14 [INFO] [stdout] | [INFO] [stdout] 312 | if let Some(ref s) = query_args.sort_order { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 313 | match s { [INFO] [stdout] 314 | 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] --> src/internal/updater.rs:313:3 [INFO] [stdout] | [INFO] [stdout] 313 | / match s { [INFO] [stdout] 314 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 315 | | _ => {} [INFO] [stdout] 316 | | } [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: called `unwrap` on `query_args` after checking its variant with `is_some` [INFO] [stdout] --> src/internal/updater.rs:346:51 [INFO] [stdout] | [INFO] [stdout] 345 | if query_args.is_some() && tx_id.is_none() && tx_slate_id.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 346 | txs = apply_advanced_tx_list_filtering(wallet, &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] --> src/internal/updater.rs:405:6 [INFO] [stdout] | [INFO] [stdout] 405 | ) -> 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] --> src/internal/updater.rs:418:63 [INFO] [stdout] | [INFO] [stdout] 418 | 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] --> src/internal/updater.rs:491:18 [INFO] [stdout] | [INFO] [stdout] 491 | 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] --> src/internal/updater.rs:520:27 [INFO] [stdout] | [INFO] [stdout] 520 | 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] --> src/internal/updater.rs:545:35 [INFO] [stdout] | [INFO] [stdout] 545 | ... 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] --> src/internal/updater.rs:565:36 [INFO] [stdout] | [INFO] [stdout] 565 | ... 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] --> src/internal/updater.rs:591:25 [INFO] [stdout] | [INFO] [stdout] 591 | 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] = 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] --> src/internal/updater.rs:596:33 [INFO] [stdout] | [INFO] [stdout] 596 | 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] --> src/internal/updater.rs:654:18 [INFO] [stdout] | [INFO] [stdout] 654 | 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 `impl` can be derived [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: using `clone` on type `Signature` which implements the `Copy` trait [INFO] [stdout] --> 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] --> 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] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> 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] --> 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: manual implementation of `Option::map` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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: the function `tx::update_stored_tx` doesn't need a mutable reference [INFO] [stdout] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/api_impl/owner.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | 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] --> src/api_impl/owner.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | 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] --> src/api_impl/owner.rs:122:15 [INFO] [stdout] | [INFO] [stdout] 122 | 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] --> src/api_impl/owner.rs:150:15 [INFO] [stdout] | [INFO] [stdout] 150 | 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] --> src/api_impl/owner.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | 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] --> src/api_impl/owner.rs:194:3 [INFO] [stdout] | [INFO] [stdout] 194 | 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] 194 - return packer.get_slate(&slatepack); [INFO] [stdout] 194 + packer.get_slate(&slatepack) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/api_impl/owner.rs:216:3 [INFO] [stdout] | [INFO] [stdout] 216 | / return Err(Error::SlatepackDecryption( [INFO] [stdout] 217 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 | | .to_owned(), [INFO] [stdout] 219 | | ) [INFO] [stdout] 220 | | .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] 216 ~ Err(Error::SlatepackDecryption( [INFO] [stdout] 217 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 ~ .to_owned(), [INFO] [stdout] 219 ~ ) [INFO] [stdout] 220 ~ .into()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/api_impl/owner.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | 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] --> src/api_impl/owner.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | return Err(Error::SlatepackDecryption( [INFO] [stdout] | ____________________^ [INFO] [stdout] 217 | | "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 | | .to_owned(), [INFO] [stdout] 219 | | ) [INFO] [stdout] 220 | | .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] 216 ~ return Err(Error::SlatepackDecryption( [INFO] [stdout] 217 ~ "Could not decrypt slatepack with any provided index on the address derivation path" [INFO] [stdout] 218 ~ .to_owned(), [INFO] [stdout] 219 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/api_impl/owner.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | 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] --> src/api_impl/owner.rs:255:14 [INFO] [stdout] | [INFO] [stdout] 255 | 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] --> src/api_impl/owner.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | 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] --> src/api_impl/owner.rs:312:15 [INFO] [stdout] | [INFO] [stdout] 312 | 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] --> src/api_impl/owner.rs:352:15 [INFO] [stdout] | [INFO] [stdout] 352 | 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] --> src/api_impl/owner.rs:382:15 [INFO] [stdout] | [INFO] [stdout] 382 | 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/api_impl/owner.rs:782:5 [INFO] [stdout] | [INFO] [stdout] 782 | 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] --> src/api_impl/owner.rs:819:15 [INFO] [stdout] | [INFO] [stdout] 819 | 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] --> src/api_impl/owner.rs:915:15 [INFO] [stdout] | [INFO] [stdout] 915 | 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] --> src/api_impl/owner.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | 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: using `clone` on type `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> 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] --> 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 pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/api_impl/owner.rs:937:21 [INFO] [stdout] | [INFO] [stdout] 937 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 938 | | Some(h) => h, [INFO] [stdout] 939 | | None => 1, [INFO] [stdout] 940 | | }; [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] --> src/api_impl/owner.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | 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: doc list item without indentation [INFO] [stdout] --> 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] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [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 pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/api_impl/owner.rs:973:21 [INFO] [stdout] | [INFO] [stdout] 973 | let start_height = match start_height { [INFO] [stdout] | ________________________^ [INFO] [stdout] 974 | | Some(h) => h, [INFO] [stdout] 975 | | None => 1, [INFO] [stdout] 976 | | }; [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] --> src/api_impl/owner.rs:998:15 [INFO] [stdout] | [INFO] [stdout] 998 | 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] --> src/api_impl/owner.rs:1018:17 [INFO] [stdout] | [INFO] [stdout] 1018 | let height = match outputs.1.iter().map(|m| m.output.height).max() { [INFO] [stdout] | __________________________^ [INFO] [stdout] 1019 | | Some(height) => height, [INFO] [stdout] 1020 | | None => 0, [INFO] [stdout] 1021 | | }; [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] --> src/api_impl/owner.rs:1033:15 [INFO] [stdout] | [INFO] [stdout] 1033 | 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] --> src/api_impl/owner.rs:1177:2 [INFO] [stdout] | [INFO] [stdout] 1177 | / if slate.ttl_cutoff_height != 0 { [INFO] [stdout] 1178 | | if last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1179 | | return Err(Error::TransactionExpired); [INFO] [stdout] 1180 | | } [INFO] [stdout] 1181 | | } [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] 1177 ~ if slate.ttl_cutoff_height != 0 [INFO] [stdout] 1178 ~ && last_confirmed_height >= slate.ttl_cutoff_height { [INFO] [stdout] 1179 | return Err(Error::TransactionExpired); [INFO] [stdout] 1180 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/api_impl/owner.rs:1188:15 [INFO] [stdout] | [INFO] [stdout] 1188 | 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] --> src/api_impl/owner.rs:1257:15 [INFO] [stdout] | [INFO] [stdout] 1257 | 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] --> src/api_impl/owner.rs:1281:15 [INFO] [stdout] | [INFO] [stdout] 1281 | 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] --> src/api_impl/owner.rs:1283:7 [INFO] [stdout] | [INFO] [stdout] 1283 | 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] 1283 - txs: &mut Vec, [INFO] [stdout] 1283 + txs: &mut [TxLogEntry], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> 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] --> 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] --> 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] --> src/api_impl/types.rs:142:1 [INFO] [stdout] | [INFO] [stdout] 142 | / impl Default for IssueInvoiceTxArgs { [INFO] [stdout] 143 | | fn default() -> IssueInvoiceTxArgs { [INFO] [stdout] 144 | | IssueInvoiceTxArgs { [INFO] [stdout] 145 | | dest_acct_name: None, [INFO] [stdout] ... | [INFO] [stdout] 150 | | } [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] 128 + #[derive(Default)] [INFO] [stdout] 129 | pub struct IssueInvoiceTxArgs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> 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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: the loop variable `i` is only used to index `ser` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> 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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 `match` can be collapsed into the outer `if let` [INFO] [stdout] --> src/internal/updater.rs:313:3 [INFO] [stdout] | [INFO] [stdout] 313 | / match s { [INFO] [stdout] 314 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 315 | | _ => {} [INFO] [stdout] 316 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/internal/updater.rs:312:14 [INFO] [stdout] | [INFO] [stdout] 312 | if let Some(ref s) = query_args.sort_order { [INFO] [stdout] | ^^^^^ replace this binding [INFO] [stdout] 313 | match s { [INFO] [stdout] 314 | 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] --> src/internal/updater.rs:313:3 [INFO] [stdout] | [INFO] [stdout] 313 | / match s { [INFO] [stdout] 314 | | RetrieveTxQuerySortOrder::Desc => return_txs.reverse(), [INFO] [stdout] 315 | | _ => {} [INFO] [stdout] 316 | | } [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: called `unwrap` on `query_args` after checking its variant with `is_some` [INFO] [stdout] --> src/internal/updater.rs:346:51 [INFO] [stdout] | [INFO] [stdout] 345 | if query_args.is_some() && tx_id.is_none() && tx_slate_id.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 346 | txs = apply_advanced_tx_list_filtering(wallet, &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] --> src/internal/updater.rs:405:6 [INFO] [stdout] | [INFO] [stdout] 405 | ) -> 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] --> src/internal/updater.rs:418:63 [INFO] [stdout] | [INFO] [stdout] 418 | 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] --> src/internal/updater.rs:491:18 [INFO] [stdout] | [INFO] [stdout] 491 | 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] --> src/internal/updater.rs:520:27 [INFO] [stdout] | [INFO] [stdout] 520 | 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] --> src/internal/updater.rs:545:35 [INFO] [stdout] | [INFO] [stdout] 545 | ... 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] --> src/internal/updater.rs:565:36 [INFO] [stdout] | [INFO] [stdout] 565 | ... 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] --> src/internal/updater.rs:591:25 [INFO] [stdout] | [INFO] [stdout] 591 | 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] = 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] --> src/internal/updater.rs:596:33 [INFO] [stdout] | [INFO] [stdout] 596 | 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] --> src/internal/updater.rs:654:18 [INFO] [stdout] | [INFO] [stdout] 654 | 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 `impl` can be derived [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: using `clone` on type `Signature` which implements the `Copy` trait [INFO] [stdout] --> 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] --> 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] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 `return` statement [INFO] [stdout] --> 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] --> 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] --> 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] --> 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: empty doc comment [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [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: the borrowed expression implements the required traits [INFO] [stdout] --> 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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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 `PublicKey` which implements the `Copy` trait [INFO] [stdout] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] --> 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] Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.58s [INFO] running `Command { std: "docker" "inspect" "f1d3dc53bd6e818fc5dad885cdf5019ddfaf5075d59ea9daa0534c6f96eac62f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f1d3dc53bd6e818fc5dad885cdf5019ddfaf5075d59ea9daa0534c6f96eac62f", kill_on_drop: false }` [INFO] [stdout] f1d3dc53bd6e818fc5dad885cdf5019ddfaf5075d59ea9daa0534c6f96eac62f