[INFO] fetching crate syscoin 0.16.15...
[INFO] testing syscoin-0.16.15 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate syscoin 0.16.15 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate syscoin 0.16.15
[INFO] finished tweaking crates.io crate syscoin 0.16.15
[INFO] tweaked toml for crates.io crate syscoin 0.16.15 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate syscoin 0.16.15 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 26 packages to latest compatible versions
[INFO] [stderr]       Adding bitcoin_hashes v0.3.2 (available: v0.20.0)
[INFO] [stderr]       Adding bitcoinconsensus v0.16.4 (available: v0.106.0+26.0)
[INFO] [stderr]       Adding cc v1.0.26 (available: v1.2.61)
[INFO] [stderr]       Adding hex v0.3.2 (available: v0.4.3)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.10.1)
[INFO] [stderr]       Adding secp256k1 v0.12.2 (available: v0.31.1)
[INFO] [stderr]       Adding strason v0.4.0 (available: v0.5.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a5d535573ece90b17ee195d27ec601e3a21fbd629feaf65483fa001f53bdd48
[INFO] running `Command { std: "docker" "start" "-a" "9a5d535573ece90b17ee195d27ec601e3a21fbd629feaf65483fa001f53bdd48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a5d535573ece90b17ee195d27ec601e3a21fbd629feaf65483fa001f53bdd48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a5d535573ece90b17ee195d27ec601e3a21fbd629feaf65483fa001f53bdd48", kill_on_drop: false }`
[INFO] [stdout] 9a5d535573ece90b17ee195d27ec601e3a21fbd629feaf65483fa001f53bdd48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 505f4b7cb43da2c4d33041946ba66377501a51ac5d00298ada3f1258df95adf9
[INFO] running `Command { std: "docker" "start" "-a" "505f4b7cb43da2c4d33041946ba66377501a51ac5d00298ada3f1258df95adf9", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling cc v1.0.26
[INFO] [stderr]    Compiling bech32 v0.6.0
[INFO] [stderr]    Compiling hex v0.3.2
[INFO] [stderr]    Compiling bitcoin_hashes v0.3.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling syscoin-bech32 v0.8.4
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling secp256k1 v0.12.2
[INFO] [stderr]    Compiling syscoin v0.16.15 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature = "clippy", allow(needless_range_loop))] // suggests making a big mess of array newtypes
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature = "clippy", allow(extend_from_slice))] // `extend_from_slice` only available since 1.6
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:377:1
[INFO] [stdout]     |
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/blockdata/opcodes.rs:816:1
[INFO] [stdout]     |
[INFO] [stdout] 816 | /// "Ordinary" opcodes -- should be 60 of these
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |             0...0xFC => 1,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             0xFD...0xFFFF => 3,
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |             0x10000...0xFFFFFFFF => 5,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:428:14
[INFO] [stdout]     |
[INFO] [stdout] 428 |             0...0xFC => (self.0 as u8).consensus_encode(s),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:433:20
[INFO] [stdout]     |
[INFO] [stdout] 433 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         b'0'...b'9' => c - '0' as u8,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         b'a'...b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         b'A'...b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:197:35
[INFO] [stdout]     |
[INFO] [stdout] 197 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:31
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 write!(f, "{}: {}", error::Error::description(self), m)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:134:76
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 write!(f, "{}: {}", error::Error::description(self), wver)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:51
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 write!(f, "{}: {}", error::Error::description(self), swflag)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:51
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 write!(f, "{}: {}", error::Error::description(self), nwcmd)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:145:51
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 write!(f, "{}: {}", error::Error::description(self), d)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:236:50
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:88:32
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/privkey.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:172:35
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:174:39
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Error::Bech32(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:175:42
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:99:42
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockdata/script.rs:433:17
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions {
[INFO] [stdout]     |                 ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<T>, slice::Iter<T>> {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<'_, T>, slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                   +++                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<T>, slice::IterMut<T>> {
[INFO] [stdout]     |                     ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         the same lifetime is hidden here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<'_, T>, slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                              +++                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.68s
[INFO] running `Command { std: "docker" "inspect" "505f4b7cb43da2c4d33041946ba66377501a51ac5d00298ada3f1258df95adf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "505f4b7cb43da2c4d33041946ba66377501a51ac5d00298ada3f1258df95adf9", kill_on_drop: false }`
[INFO] [stdout] 505f4b7cb43da2c4d33041946ba66377501a51ac5d00298ada3f1258df95adf9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc18b0e65afbccf727690b0cce9752dbae27239991a3b4c62f56a50f1ddf76cd
[INFO] running `Command { std: "docker" "start" "-a" "fc18b0e65afbccf727690b0cce9752dbae27239991a3b4c62f56a50f1ddf76cd", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature = "clippy", allow(needless_range_loop))] // suggests making a big mess of array newtypes
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature = "clippy", allow(extend_from_slice))] // `extend_from_slice` only available since 1.6
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:377:1
[INFO] [stdout]     |
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/blockdata/opcodes.rs:816:1
[INFO] [stdout]     |
[INFO] [stdout] 816 | /// "Ordinary" opcodes -- should be 60 of these
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |             0...0xFC => 1,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             0xFD...0xFFFF => 3,
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |             0x10000...0xFFFFFFFF => 5,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:428:14
[INFO] [stdout]     |
[INFO] [stdout] 428 |             0...0xFC => (self.0 as u8).consensus_encode(s),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:433:20
[INFO] [stdout]     |
[INFO] [stdout] 433 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         b'0'...b'9' => c - '0' as u8,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         b'a'...b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         b'A'...b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:197:35
[INFO] [stdout]     |
[INFO] [stdout] 197 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:31
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 write!(f, "{}: {}", error::Error::description(self), m)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:134:76
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 write!(f, "{}: {}", error::Error::description(self), wver)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:51
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 write!(f, "{}: {}", error::Error::description(self), swflag)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:51
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 write!(f, "{}: {}", error::Error::description(self), nwcmd)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:145:51
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 write!(f, "{}: {}", error::Error::description(self), d)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:236:50
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling syscoin v0.16.15 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:88:32
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/privkey.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:172:35
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:174:39
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Error::Bech32(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:175:42
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:99:42
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockdata/script.rs:433:17
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions {
[INFO] [stdout]     |                 ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<T>, slice::Iter<T>> {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<'_, T>, slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                   +++                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<T>, slice::IterMut<T>> {
[INFO] [stdout]     |                     ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         the same lifetime is hidden here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<'_, T>, slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                              +++                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature = "clippy", allow(needless_range_loop))] // suggests making a big mess of array newtypes
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature = "clippy", allow(extend_from_slice))] // `extend_from_slice` only available since 1.6
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stdout]     | -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/bip32.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stdout]     | --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]    --> src/internal_macros.rs:145:20
[INFO] [stdout]     |
[INFO] [stdout] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/util/uint.rs:377:1
[INFO] [stdout]     |
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stdout]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/blockdata/opcodes.rs:816:1
[INFO] [stdout]     |
[INFO] [stdout] 816 | /// "Ordinary" opcodes -- should be 60 of these
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:416:14
[INFO] [stdout]     |
[INFO] [stdout] 416 |             0...0xFC => 1,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             0xFD...0xFFFF => 3,
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:418:20
[INFO] [stdout]     |
[INFO] [stdout] 418 |             0x10000...0xFFFFFFFF => 5,
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:428:14
[INFO] [stdout]     |
[INFO] [stdout] 428 |             0...0xFC => (self.0 as u8).consensus_encode(s),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             0xFD...0xFFFF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:433:20
[INFO] [stdout]     |
[INFO] [stdout] 433 |             0x10000...0xFFFFFFFF => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         b'0'...b'9' => c - '0' as u8,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         b'a'...b'f' => c - 'a' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/util/misc.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         b'A'...b'F' => c - 'A' as u8 + 10,
[INFO] [stdout]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/blockdata/script.rs:197:35
[INFO] [stdout]     |
[INFO] [stdout] 197 |         f.write_str(error::Error::description(self))
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:107:31
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 error::Error::description(self),
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 write!(f, "{}: {}", error::Error::description(self), m)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:134:76
[INFO] [stdout]     |
[INFO] [stdout] 134 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 write!(f, "{}: {}", error::Error::description(self), wver)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:139:51
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 write!(f, "{}: {}", error::Error::description(self), swflag)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:142:51
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 write!(f, "{}: {}", error::Error::description(self), nwcmd)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:145:51
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 write!(f, "{}: {}", error::Error::description(self), d)
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/bip32.rs:236:50
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/network/mod.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/script.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/blockdata/transaction.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stdout]     |                                +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/consensus/encode.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/base58.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/bip32.rs:225:32
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/contracthash.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/mod.rs:88:32
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/util/privkey.rs:96:37
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/network/mod.rs:65:35
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:172:35
[INFO] [stdout]     |
[INFO] [stdout] 172 |             Error::Io(ref e) => e.description(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:173:39
[INFO] [stdout]     |
[INFO] [stdout] 173 |             Error::Base58(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:174:39
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Error::Bech32(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/consensus/encode.rs:175:42
[INFO] [stdout]     |
[INFO] [stdout] 175 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 | construct_uint!(Uint256, 4);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/util/uint.rs:351:18
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 | construct_uint!(Uint128, 2);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/util/mod.rs:99:42
[INFO] [stdout]    |
[INFO] [stdout] 99 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |             Error::Encode(ref e) => e.description(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/util/mod.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Error::Network(ref e) => e.description(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/blockdata/script.rs:433:17
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions {
[INFO] [stdout]     |                 ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:850:25
[INFO] [stdout]     |
[INFO] [stdout] 850 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 850 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 850 -             x => panic!(x),
[INFO] [stdout] 850 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:854:25
[INFO] [stdout]     |
[INFO] [stdout] 854 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 854 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 854 -             x => panic!(x),
[INFO] [stdout] 854 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:858:25
[INFO] [stdout]     |
[INFO] [stdout] 858 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 858 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 858 -             x => panic!(x),
[INFO] [stdout] 858 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:862:25
[INFO] [stdout]     |
[INFO] [stdout] 862 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 862 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 862 -             x => panic!(x),
[INFO] [stdout] 862 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:866:25
[INFO] [stdout]     |
[INFO] [stdout] 866 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 866 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 866 -             x => panic!(x),
[INFO] [stdout] 866 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/consensus/encode.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             x => panic!(x),
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stdout]     |
[INFO] [stdout] 870 |             x => panic!("{:?}", x),
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 870 -             x => panic!(x),
[INFO] [stdout] 870 +             x => std::panic::panic_any(x),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<T>, slice::Iter<T>> {
[INFO] [stdout]     |                 ^^^^^                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |                     |
[INFO] [stdout]     |                 |                     the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<'_, T>, slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                   +++                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/util/base58.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<T>, slice::IterMut<T>> {
[INFO] [stdout]     |                     ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |                         |
[INFO] [stdout]     |                     |                         the same lifetime is hidden here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<'_, T>, slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                              +++                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.33s
[INFO] running `Command { std: "docker" "inspect" "fc18b0e65afbccf727690b0cce9752dbae27239991a3b4c62f56a50f1ddf76cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc18b0e65afbccf727690b0cce9752dbae27239991a3b4c62f56a50f1ddf76cd", kill_on_drop: false }`
[INFO] [stdout] fc18b0e65afbccf727690b0cce9752dbae27239991a3b4c62f56a50f1ddf76cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e6658d9831fea7daa0e3819772f92ce7bff457e72cdb6bed4d1a5b25fc87735f
[INFO] running `Command { std: "docker" "start" "-a" "e6658d9831fea7daa0e3819772f92ce7bff457e72cdb6bed4d1a5b25fc87735f", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]   --> src/lib.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 | #![cfg_attr(feature = "clippy", allow(needless_range_loop))] // suggests making a big mess of array newtypes
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]   --> src/lib.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 | #![cfg_attr(feature = "clippy", allow(extend_from_slice))] // `extend_from_slice` only available since 1.6
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]    --> src/internal_macros.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/util/bip32.rs:36:1
[INFO] [stderr]     |
[INFO] [stderr]  36 | impl_array_newtype!(ChainCode, u8, 32);
[INFO] [stderr]     | -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]    --> src/internal_macros.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/util/bip32.rs:42:1
[INFO] [stderr]     |
[INFO] [stderr]  42 | impl_array_newtype!(Fingerprint, u8, 4);
[INFO] [stderr]     | --------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]    --> src/internal_macros.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/util/uint.rs:376:1
[INFO] [stderr]     |
[INFO] [stderr] 376 | construct_uint!(Uint256, 4);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stderr]    --> src/internal_macros.rs:145:20
[INFO] [stderr]     |
[INFO] [stderr] 145 |         #[cfg_attr(feature = "clippy", allow(expl_impl_clone_on_copy))] // we don't define the `struct`, we have to explicitly impl
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/util/uint.rs:377:1
[INFO] [stderr]     |
[INFO] [stderr] 377 | construct_uint!(Uint128, 2);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `bitcoinconsensus`, `fuzztarget`, `serde`, `serde-decimal`, `strason`, `unstable`, and `use-serde`
[INFO] [stderr]     = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: this warning originates in the macro `impl_array_newtype` which comes from the expansion of the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/blockdata/opcodes.rs:816:1
[INFO] [stderr]     |
[INFO] [stderr] 816 | /// "Ordinary" opcodes -- should be 60 of these
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:416:14
[INFO] [stderr]     |
[INFO] [stderr] 416 |             0...0xFC => 1,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:417:17
[INFO] [stderr]     |
[INFO] [stderr] 417 |             0xFD...0xFFFF => 3,
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:418:20
[INFO] [stderr]     |
[INFO] [stderr] 418 |             0x10000...0xFFFFFFFF => 5,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:428:14
[INFO] [stderr]     |
[INFO] [stderr] 428 |             0...0xFC => (self.0 as u8).consensus_encode(s),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             0xFD...0xFFFF => {
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:433:20
[INFO] [stderr]     |
[INFO] [stderr] 433 |             0x10000...0xFFFFFFFF => {
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |         b'0'...b'9' => c - '0' as u8,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |         b'a'...b'f' => c - 'a' as u8 + 10,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         b'A'...b'F' => c - 'A' as u8 + 10,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/network/mod.rs:49:43
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 f.write_str(error::Error::description(self))
[INFO] [stderr]    |                                           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/blockdata/script.rs:197:35
[INFO] [stderr]     |
[INFO] [stderr] 197 |         f.write_str(error::Error::description(self))
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:107:31
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 error::Error::description(self),
[INFO] [stderr]     |                               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:117:31
[INFO] [stderr]     |
[INFO] [stderr] 117 |                 error::Error::description(self),
[INFO] [stderr]     |                               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:127:31
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 error::Error::description(self),
[INFO] [stderr]     |                               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:132:51
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 write!(f, "{}: {}", error::Error::description(self), m)
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:134:76
[INFO] [stderr]     |
[INFO] [stderr] 134 |             Error::ParseFailed(ref e) => write!(f, "{}: {}", error::Error::description(self), e),
[INFO] [stderr]     |                                                                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:136:51
[INFO] [stderr]     |
[INFO] [stderr] 136 |                 write!(f, "{}: {}", error::Error::description(self), wver)
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:139:51
[INFO] [stderr]     |
[INFO] [stderr] 139 |                 write!(f, "{}: {}", error::Error::description(self), swflag)
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:142:51
[INFO] [stderr]     |
[INFO] [stderr] 142 |                 write!(f, "{}: {}", error::Error::description(self), nwcmd)
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:145:51
[INFO] [stderr]     |
[INFO] [stderr] 145 |                 write!(f, "{}: {}", error::Error::description(self), d)
[INFO] [stderr]     |                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/util/mod.rs:81:43
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 f.write_str(error::Error::description(self))
[INFO] [stderr]    |                                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/util/bip32.rs:236:50
[INFO] [stderr]     |
[INFO] [stderr] 236 |             Error::Ecdsa(ref e) => error::Error::description(e),
[INFO] [stderr]     |                                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/network/mod.rs:56:32
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blockdata/script.rs:202:32
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/blockdata/transaction.rs:137:32
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn cause(&self) -> Option<&::std::error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn cause(&self) -> Option<&dyn (::std::error::Error)> {
[INFO] [stderr]     |                                +++++                   +
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:152:32
[INFO] [stderr]     |
[INFO] [stderr] 152 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 152 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/util/base58.rs:62:32
[INFO] [stderr]    |
[INFO] [stderr] 62 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 62 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/util/bip32.rs:225:32
[INFO] [stderr]     |
[INFO] [stderr] 225 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 225 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/util/contracthash.rs:76:32
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/util/mod.rs:88:32
[INFO] [stderr]    |
[INFO] [stderr] 88 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 88 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/util/privkey.rs:96:37
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub fn fmt_wif(&self, fmt: &mut fmt::Write) -> fmt::Result {
[INFO] [stderr]    |                                     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub fn fmt_wif(&self, fmt: &mut dyn fmt::Write) -> fmt::Result {
[INFO] [stderr]    |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/network/mod.rs:65:35
[INFO] [stderr]    |
[INFO] [stderr] 65 |             Error::Io(ref e) => e.description(),
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:172:35
[INFO] [stderr]     |
[INFO] [stderr] 172 |             Error::Io(ref e) => e.description(),
[INFO] [stderr]     |                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:173:39
[INFO] [stderr]     |
[INFO] [stderr] 173 |             Error::Base58(ref e) => e.description(),
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:174:39
[INFO] [stderr]     |
[INFO] [stderr] 174 |             Error::Bech32(ref e) => e.description(),
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/consensus/encode.rs:175:42
[INFO] [stderr]     |
[INFO] [stderr] 175 |             Error::ByteOrder(ref e) => e.description(),
[INFO] [stderr]     |                                          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/util/uint.rs:351:18
[INFO] [stderr]     |
[INFO] [stderr] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 376 | construct_uint!(Uint256, 4);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/util/uint.rs:351:18
[INFO] [stderr]     |
[INFO] [stderr] 351 |                 <fmt::Debug>::fmt(self, f)
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 377 | construct_uint!(Uint128, 2);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `construct_uint` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/util/mod.rs:99:42
[INFO] [stderr]    |
[INFO] [stderr] 99 |             Error::Secp256k1(ref e) => e.description(),
[INFO] [stderr]    |                                          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/util/mod.rs:100:39
[INFO] [stderr]     |
[INFO] [stderr] 100 |             Error::Encode(ref e) => e.description(),
[INFO] [stderr]     |                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/util/mod.rs:101:40
[INFO] [stderr]     |
[INFO] [stderr] 101 |             Error::Network(ref e) => e.description(),
[INFO] [stderr]     |                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/blockdata/script.rs:433:17
[INFO] [stderr]     |
[INFO] [stderr] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions {
[INFO] [stderr]     |                 ^^^^^                            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 433 |     pub fn iter(&self, enforce_minimal: bool) -> Instructions<'_> {
[INFO] [stderr]     |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/util/base58.rs:103:17
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<T>, slice::Iter<T>> {
[INFO] [stderr]     |                 ^^^^^                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |                     |
[INFO] [stderr]     |                 |                     the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn iter(&self) -> iter::Chain<slice::Iter<'_, T>, slice::Iter<'_, T>> {
[INFO] [stderr]     |                                                   +++                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/util/base58.rs:108:21
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<T>, slice::IterMut<T>> {
[INFO] [stderr]     |                     ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |                         |
[INFO] [stderr]     |                     |                         the same lifetime is hidden here
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub fn iter_mut(&mut self) -> iter::Chain<slice::IterMut<'_, T>, slice::IterMut<'_, T>> {
[INFO] [stderr]     |                                                              +++                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:850:25
[INFO] [stderr]     |
[INFO] [stderr] 850 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 850 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 850 -             x => panic!(x),
[INFO] [stderr] 850 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:854:25
[INFO] [stderr]     |
[INFO] [stderr] 854 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 854 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 854 -             x => panic!(x),
[INFO] [stderr] 854 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:858:25
[INFO] [stderr]     |
[INFO] [stderr] 858 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 858 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 858 -             x => panic!(x),
[INFO] [stderr] 858 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:862:25
[INFO] [stderr]     |
[INFO] [stderr] 862 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 862 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 862 -             x => panic!(x),
[INFO] [stderr] 862 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:866:25
[INFO] [stderr]     |
[INFO] [stderr] 866 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 866 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 866 -             x => panic!(x),
[INFO] [stderr] 866 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/consensus/encode.rs:870:25
[INFO] [stderr]     |
[INFO] [stderr] 870 |             x => panic!(x),
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{:?}" format string to use the `Debug` implementation of `Result<Vec<u8>, encode::Error>`
[INFO] [stderr]     |
[INFO] [stderr] 870 |             x => panic!("{:?}", x),
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stderr]     |
[INFO] [stderr] 870 -             x => panic!(x),
[INFO] [stderr] 870 +             x => std::panic::panic_any(x),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `syscoin` (lib) generated 51 warnings (run `cargo fix --lib -p syscoin` to apply 21 suggestions)
[INFO] [stderr] warning: `syscoin` (lib test) generated 57 warnings (51 duplicates) (run `cargo fix --lib -p syscoin --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bitcoin-50f50e4d0a3df5be)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test blockdata::constants::test::bitcoin_genesis_first_transaction ... ok
[INFO] [stdout] test blockdata::block::tests::block_test ... ok
[INFO] [stdout] test blockdata::script::test::p2sh_p2wsh_conversion ... ok
[INFO] [stdout] test blockdata::constants::test::bitcoin_genesis_full_block ... ok
[INFO] [stdout] test blockdata::constants::test::testnet_genesis_full_block ... ok
[INFO] [stdout] test blockdata::block::tests::compact_roundrtip_test ... ok
[INFO] [stdout] test blockdata::opcodes::tests::str_roundtrip ... ok
[INFO] [stdout] test blockdata::script::test::op_return_test ... ok
[INFO] [stdout] test blockdata::script::test::provably_unspendable_test ... ok
[INFO] [stdout] test blockdata::script::test::script ... ok
[INFO] [stdout] test blockdata::script::test::script_builder ... ok
[INFO] [stdout] test blockdata::script::test::script_ord ... ok
[INFO] [stdout] test blockdata::script::test::script_debug_display ... ok
[INFO] [stdout] test blockdata::script::test::script_p2pk ... ok
[INFO] [stdout] test blockdata::script::test::script_p2sh_p2p2k_template ... ok
[INFO] [stdout] test blockdata::script::test::script_serialize ... ok
[INFO] [stdout] test blockdata::script::test::scriptint_round_trip ... ok
[INFO] [stdout] test blockdata::script::test::test_iterator ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_outpoint ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_is_coinbase ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_ntxid ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_transaction ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_txid ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_txin ... ok
[INFO] [stdout] test blockdata::transaction::tests::tx_no_input_deserialization ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_box_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_checkeddata_test ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_box_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_int_test ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_int_test ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_option_test ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_strbuf_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_nonminimal_vec ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_varint_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_strbuf_test ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_vector_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_option_test ... ok
[INFO] [stdout] test consensus::encode::tests::deserialize_vec_test ... ok
[INFO] [stdout] test network::address::test::serialize_address_test ... ok
[INFO] [stdout] test network::address::test::test_socket_addr ... ok
[INFO] [stdout] test network::constants::tests::serialize_test ... ok
[INFO] [stdout] test network::message::test::serialize_commandstring_test ... ok
[INFO] [stdout] test network::constants::tests::string_test ... ok
[INFO] [stdout] test network::message::test::deserialize_commandstring_test ... ok
[INFO] [stdout] test network::message::test::serialize_getaddr_test ... ok
[INFO] [stdout] test network::message::test::serialize_mempool_test ... ok
[INFO] [stdout] test network::message::test::serialize_ping_test ... ok
[INFO] [stdout] test network::message::test::serialize_verack_test ... ok
[INFO] [stdout] test network::address::test::deserialize_address_test ... ok
[INFO] [stdout] test network::message_blockdata::tests::getblocks_message_test ... ok
[INFO] [stdout] test network::address::test::onion_test ... ok
[INFO] [stdout] test network::message_blockdata::tests::getheaders_message_test ... ok
[INFO] [stdout] test network::message_network::tests::version_message_test ... ok
[INFO] [stdout] test util::address::tests::test_p2pkh_address_58 ... ok
[INFO] [stdout] test util::address::tests::test_p2sh_address_58 ... ok
[INFO] [stdout] test util::address::tests::test_p2wpkh ... ok
[INFO] [stdout] test util::address::tests::test_p2sh_parse ... ok
[INFO] [stdout] test consensus::encode::tests::serialize_checkeddata_test ... ok
[INFO] [stdout] test util::address::tests::test_p2pkh_from_key ... ok
[INFO] [stdout] test util::address::tests::test_p2wsh ... ok
[INFO] [stdout] test util::base58::tests::test_base58_decode ... ok
[INFO] [stdout] test util::base58::tests::test_base58_encode ... ok
[INFO] [stdout] test util::bip143::tests::bip143_p2wpkh ... ok
[INFO] [stdout] test util::bip143::tests::bip143_p2wpkh_nested_in_p2sh ... ok
[INFO] [stdout] test util::bip143::tests::bip143_p2wsh_nested_in_p2sh ... ok
[INFO] [stdout] test util::base58::tests::test_base58_roundtrip ... ok
[INFO] [stdout] test util::contracthash::tests::bad_key_number ... ok
[INFO] [stdout] test util::decimal::tests::arithmetic ... ok
[INFO] [stdout] test util::contracthash::tests::script ... ok
[INFO] [stdout] test util::decimal::tests::integer_value ... ok
[INFO] [stdout] test util::misc::tests::test_hex_bytes ... ok
[INFO] [stdout] test util::misc::tests::test_script_codesep_remove ... ok
[INFO] [stdout] test util::misc::tests::test_script_find_and_remove ... ok
[INFO] [stdout] test util::decimal::tests::equality ... ok
[INFO] [stdout] test util::uint::tests::mul_u32_test ... ok
[INFO] [stdout] test util::uint::tests::multiplication_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_arithmetic_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_bits_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_bitslice_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_comp_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_display_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_extreme_bitshift_test ... ok
[INFO] [stdout] test util::uint::tests::uint256_serialize_test ... ok
[INFO] [stdout] test blockdata::transaction::tests::test_sighash ... ok
[INFO] [stdout] test util::contracthash::tests::sanity ... ok
[INFO] [stdout] test util::privkey::tests::test_key_derivation ... ok
[INFO] [stdout] test util::contracthash::tests::tweak_secret ... ok
[INFO] [stdout] test util::bip32::tests::test_vector_3 ... ok
[INFO] [stdout] test util::bip32::tests::test_vector_1 ... ok
[INFO] [stdout] test util::bip32::tests::test_vector_2 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bitcoin
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:416:14
[INFO] [stderr]     |
[INFO] [stderr] 416 |             0...0xFC => 1,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:417:17
[INFO] [stderr]     |
[INFO] [stderr] 417 |             0xFD...0xFFFF => 3,
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:418:20
[INFO] [stderr]     |
[INFO] [stderr] 418 |             0x10000...0xFFFFFFFF => 5,
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:428:14
[INFO] [stderr]     |
[INFO] [stderr] 428 |             0...0xFC => (self.0 as u8).consensus_encode(s),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             0xFD...0xFFFF => {
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/consensus/encode.rs:433:20
[INFO] [stderr]     |
[INFO] [stderr] 433 |             0x10000...0xFFFFFFFF => {
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |         b'0'...b'9' => c - '0' as u8,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |         b'a'...b'f' => c - 'a' as u8 + 10,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/util/misc.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         b'A'...b'F' => c - 'A' as u8 + 10,
[INFO] [stderr]    |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: 9 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/network/constants.rs - network::constants::Network::magic (line 89) ... ok
[INFO] [stdout] test src/network/constants.rs - network::constants (line 30) ... ok
[INFO] [stdout] test src/util/address.rs - util::address (line 20) ... ok
[INFO] [stdout] test src/blockdata/transaction.rs - blockdata::transaction::OutPoint::is_null (line 69) ... ok
[INFO] [stdout] test src/network/constants.rs - network::constants::Network::from_magic (line 68) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e6658d9831fea7daa0e3819772f92ce7bff457e72cdb6bed4d1a5b25fc87735f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6658d9831fea7daa0e3819772f92ce7bff457e72cdb6bed4d1a5b25fc87735f", kill_on_drop: false }`
[INFO] [stdout] e6658d9831fea7daa0e3819772f92ce7bff457e72cdb6bed4d1a5b25fc87735f
