[INFO] fetching crate grin_wallet_impls 5.4.1...
[INFO] checking grin_wallet_impls-5.4.1 against c60b92c03ca8a3b101eb9d57f51e2232690638c7 for pr-164148-crater-rollup
[INFO] extracting crate grin_wallet_impls 5.4.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate grin_wallet_impls 5.4.1
[INFO] finished tweaking crates.io crate grin_wallet_impls 5.4.1
[INFO] tweaked toml for crates.io crate grin_wallet_impls 5.4.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate grin_wallet_impls 5.4.1 on toolchain c60b92c03ca8a3b101eb9d57f51e2232690638c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate grin_wallet_impls 5.4.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4
[INFO] running `Command { std: "docker" "start" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling syn v2.0.86
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling thiserror v1.0.66
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking bytes v0.5.6
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.92
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling grin_secp256k1zkp v0.7.15
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking thread-id v4.2.2
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking parking_lot_core v0.7.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking object v0.36.5
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling croaring-sys v2.1.0
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking password-hash v0.2.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]     Checking num-rational v0.2.4
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking pbkdf2 v0.8.0
[INFO] [stderr]     Checking num-complex v0.2.4
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]     Checking ripemd160 v0.9.1
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]    Compiling liblmdb-sys v0.2.2
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]    Compiling rust-embed-utils v7.8.1
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]    Compiling rustix v0.38.38
[INFO] [stderr]    Compiling type-map v0.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.66
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking zip v0.5.13
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]     Checking unic-langid-impl v0.9.5
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking croaring v1.1.0
[INFO] [stderr]     Checking tokio v1.42.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking unic-langid v0.9.5
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling rust-embed-impl v6.8.1
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling self_cell v1.0.4
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]     Checking supercow v0.1.0
[INFO] [stderr]     Checking bitflags v0.9.1
[INFO] [stderr]     Checking fastrand v2.1.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking tempfile v3.13.0
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking intl-memoizer v0.5.2
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling basic-toml v0.1.9
[INFO] [stderr]    Compiling fluent-langneg v0.13.0
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]     Checking log4rs v1.3.0
[INFO] [stderr]     Checking lmdb-zero v0.4.4
[INFO] [stderr]    Compiling fluent-bundle v0.15.3
[INFO] [stderr]    Compiling i18n-config v0.4.7
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]    Compiling i18n-embed-impl v0.8.4
[INFO] [stderr]     Checking grin_util v5.4.1
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking poly1305 v0.7.2
[INFO] [stderr]    Compiling fluent v0.16.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking block-buffer v0.7.3
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking grin_keychain v5.4.1
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]    Compiling rust-embed v6.8.1
[INFO] [stderr]     Checking chacha20 v0.8.2
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking http-body v0.3.1
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling unicase v2.8.0
[INFO] [stderr]     Checking grin_core v5.4.1
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]     Checking httpdate v0.3.2
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]    Compiling i18n-embed v0.13.9
[INFO] [stderr]     Checking sha3 v0.8.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking chacha20poly1305 v0.9.1
[INFO] [stderr]     Checking rustls v0.18.1
[INFO] [stderr]     Checking grin_store v5.4.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking cookie-factory v0.3.3
[INFO] [stderr]     Checking salsa20 v0.9.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking hmac v0.12.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 data-encoding v2.6.0
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking age-core v0.7.1
[INFO] [stderr]     Checking grin_chain v5.4.1
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking grin_wallet_util v5.4.1
[INFO] [stderr]    Compiling i18n-embed-fl v0.6.7
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking tokio-rustls v0.23.4
[INFO] [stderr]     Checking jsonrpc-core v10.1.0
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking tokio-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.14.1
[INFO] [stderr]     Checking scrypt v0.8.1
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]     Checking x25519-dalek v1.1.1
[INFO] [stderr]     Checking curve25519-dalek v2.1.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking bech32 v0.8.1
[INFO] [stderr]     Checking x25519-dalek v0.6.0
[INFO] [stderr]     Checking age v0.7.1
[INFO] [stderr]     Checking grin_p2p v5.4.1
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]     Checking grin_wallet_config v5.4.1
[INFO] [stderr]     Checking tokio-socks v0.3.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking grin_pool v5.4.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]    Compiling strum_macros v0.18.0
[INFO] [stderr]     Checking secrecy v0.6.0
[INFO] [stderr]     Checking bs58 v0.3.1
[INFO] [stderr]     Checking strum v0.18.0
[INFO] [stderr]     Checking bech32 v0.7.3
[INFO] [stderr]     Checking timer v0.2.0
[INFO] [stderr]     Checking remove_dir_all v0.7.0
[INFO] [stderr]    Compiling easy-jsonrpc-proc-macro-mw v0.5.1
[INFO] [stderr]     Checking grin_wallet_libwallet v5.4.1
[INFO] [stderr]     Checking easy-jsonrpc-mw v0.5.4
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking sysinfo v0.29.11
[INFO] [stderr]     Checking hyper-rustls v0.23.2
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking grin_api v5.4.1
[INFO] [stderr]     Checking hyper-tls v0.4.3
[INFO] [stderr]     Checking hyper-rustls v0.21.0
[INFO] [stderr]     Checking reqwest v0.10.10
[INFO] [stderr]     Checking grin_wallet_impls v5.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: useless conversion to the same type: `grin_wallet_libwallet::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/default.rs:225:17
[INFO] [stdout]     |
[INFO] [stdout] 225 |                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 225 -                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout] 225 +                     return Err(Error::Lifecycle(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 225 -                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout] 225 +                     return Err(<grin_wallet_libwallet::Error as Into<_>>::into(Error::Lifecycle(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]   --> src/lifecycle/seed.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 45 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 45 +             Err(_) => Err(Error::Mnemonic),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 45 +             Err(_) => Err(<error::Error as Into<_>>::into(Error::Mnemonic)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]   --> src/lifecycle/seed.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 70 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 70 +             Err(_) => Err(Error::Mnemonic),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 70 +             Err(_) => Err(<error::Error as Into<_>>::into(Error::Mnemonic)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/seed.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 135 -             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout] 135 +             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 135 -             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout] 135 +             return Err(<error::Error as Into<_>>::into(Error::GenericError("Can't rename wallet seed file".to_owned())));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/seed.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 |               return Err(Error::WalletDoesntExist(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 159 | |                 data_file_dir.to_owned(),
[INFO] [stdout] 160 | |                 "To create a new wallet from a recovery phrase, use 'grin-wallet init -r'"
[INFO] [stdout] 161 | |                     .to_owned(),
[INFO] [stdout] 162 | |             )
[INFO] [stdout] 163 | |             .into());
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 162 -             )
[INFO] [stdout] 163 -             .into());
[INFO] [stdout] 162 +             ));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 158 ~             return Err(<error::Error as Into<_>>::into(Error::WalletDoesntExist(
[INFO] [stdout] 159 |                 data_file_dir.to_owned(),
[INFO] [stdout] 160 |                 "To create a new wallet from a recovery phrase, use 'grin-wallet init -r'"
[INFO] [stdout] 161 |                     .to_owned(),
[INFO] [stdout] 162 ~             )));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |             return Err(Error::TorBridge(msg).into());
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 205 -             return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 205 +             return Err(Error::TorBridge(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 205 -             return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 205 +             return Err(<error::Error as Into<_>>::into(Error::TorBridge(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 format!("Invalid -max value: {}, must be \"true\" or \"false\"", arg).into(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:336:16
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 336 +                 return Err(Error::TorBridge(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 336 +                 return Err(<error::Error as Into<_>>::into(Error::TorBridge(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:563:18
[INFO] [stdout]     |
[INFO] [stdout] 563 |                         cert: Some(cert.into()),
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 563 -                         cert: Some(cert.into()),
[INFO] [stdout] 563 +                         cert: Some(cert),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 563 -                         cert: Some(cert.into()),
[INFO] [stdout] 563 +                         cert: Some(<std::string::String as Into<_>>::into(cert)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/config.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 |             Err(Error::NotOnion(msg).into())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 268 -             Err(Error::NotOnion(msg).into())
[INFO] [stdout] 268 +             Err(Error::NotOnion(msg))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 268 -             Err(Error::NotOnion(msg).into())
[INFO] [stdout] 268 +             Err(<error::Error as Into<_>>::into(Error::NotOnion(msg)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 | ...                   transport: Some(transport.into()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -                             transport: Some(transport.into()),
[INFO] [stdout] 159 +                             transport: Some(transport),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -                             transport: Some(transport.into()),
[INFO] [stdout] 159 +                             transport: Some(<std::string::String as Into<_>>::into(transport)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 170 -                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout] 170 +                         return Err(Error::TorProxy(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 170 -                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout] 170 +                         return Err(<error::Error as Into<_>>::into(Error::TorProxy(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 |                     Err(Error::TorProxy(msg).into())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 179 -                     Err(Error::TorProxy(msg).into())
[INFO] [stdout] 179 +                     Err(Error::TorProxy(msg))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 179 -                     Err(Error::TorProxy(msg).into())
[INFO] [stdout] 179 +                     Err(<error::Error as Into<_>>::into(Error::TorProxy(msg)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `grin_wallet_impls` (lib) due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `grin_wallet_libwallet::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/default.rs:225:17
[INFO] [stdout]     |
[INFO] [stdout] 225 |                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 225 -                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout] 225 +                     return Err(Error::Lifecycle(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 225 -                     return Err(Error::Lifecycle(msg).into());
[INFO] [stdout] 225 +                     return Err(<grin_wallet_libwallet::Error as Into<_>>::into(Error::Lifecycle(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]   --> src/lifecycle/seed.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 45 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 45 +             Err(_) => Err(Error::Mnemonic),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 45 +             Err(_) => Err(<error::Error as Into<_>>::into(Error::Mnemonic)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]   --> src/lifecycle/seed.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 70 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 70 +             Err(_) => Err(Error::Mnemonic),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 70 -             Err(_) => Err(Error::Mnemonic.into()),
[INFO] [stdout] 70 +             Err(_) => Err(<error::Error as Into<_>>::into(Error::Mnemonic)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/seed.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 135 -             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout] 135 +             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 135 -             return Err(Error::GenericError("Can't rename wallet seed file".to_owned()).into());
[INFO] [stdout] 135 +             return Err(<error::Error as Into<_>>::into(Error::GenericError("Can't rename wallet seed file".to_owned())));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/lifecycle/seed.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 |               return Err(Error::WalletDoesntExist(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 159 | |                 data_file_dir.to_owned(),
[INFO] [stdout] 160 | |                 "To create a new wallet from a recovery phrase, use 'grin-wallet init -r'"
[INFO] [stdout] 161 | |                     .to_owned(),
[INFO] [stdout] 162 | |             )
[INFO] [stdout] 163 | |             .into());
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 162 -             )
[INFO] [stdout] 163 -             .into());
[INFO] [stdout] 162 +             ));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 158 ~             return Err(<error::Error as Into<_>>::into(Error::WalletDoesntExist(
[INFO] [stdout] 159 |                 data_file_dir.to_owned(),
[INFO] [stdout] 160 |                 "To create a new wallet from a recovery phrase, use 'grin-wallet init -r'"
[INFO] [stdout] 161 |                     .to_owned(),
[INFO] [stdout] 162 ~             )));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |             return Err(Error::TorBridge(msg).into());
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 205 -             return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 205 +             return Err(Error::TorBridge(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 205 -             return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 205 +             return Err(<error::Error as Into<_>>::into(Error::TorBridge(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 format!("Invalid -max value: {}, must be \"true\" or \"false\"", arg).into(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:336:16
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 336 +                 return Err(Error::TorBridge(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 return Err(Error::TorBridge(msg).into());
[INFO] [stdout] 336 +                 return Err(<error::Error as Into<_>>::into(Error::TorBridge(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/bridge.rs:563:18
[INFO] [stdout]     |
[INFO] [stdout] 563 |                         cert: Some(cert.into()),
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 563 -                         cert: Some(cert.into()),
[INFO] [stdout] 563 +                         cert: Some(cert),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 563 -                         cert: Some(cert.into()),
[INFO] [stdout] 563 +                         cert: Some(<std::string::String as Into<_>>::into(cert)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/config.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 |             Err(Error::NotOnion(msg).into())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 268 -             Err(Error::NotOnion(msg).into())
[INFO] [stdout] 268 +             Err(Error::NotOnion(msg))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 268 -             Err(Error::NotOnion(msg).into())
[INFO] [stdout] 268 +             Err(<error::Error as Into<_>>::into(Error::NotOnion(msg)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 | ...                   transport: Some(transport.into()),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -                             transport: Some(transport.into()),
[INFO] [stdout] 159 +                             transport: Some(transport),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -                             transport: Some(transport.into()),
[INFO] [stdout] 159 +                             transport: Some(<std::string::String as Into<_>>::into(transport)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 170 -                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout] 170 +                         return Err(Error::TorProxy(msg));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 170 -                         return Err(Error::TorProxy(msg).into());
[INFO] [stdout] 170 +                         return Err(<error::Error as Into<_>>::into(Error::TorProxy(msg)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::Error` grin_wallet_impls
[INFO] [stdout]    --> src/tor/proxy.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 |                     Err(Error::TorProxy(msg).into())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 179 -                     Err(Error::TorProxy(msg).into())
[INFO] [stdout] 179 +                     Err(Error::TorProxy(msg))
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 179 -                     Err(Error::TorProxy(msg).into())
[INFO] [stdout] 179 +                     Err(<error::Error as Into<_>>::into(Error::TorProxy(msg)))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `grin_wallet_impls` (lib test) due to 13 previous errors
[INFO] running `Command { std: "docker" "inspect" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4", kill_on_drop: false }`
[INFO] [stdout] c78c100b4de9b979c8c80ace41c24ca8348d0d0f8d00313d859c614ddb82d4f4
