[INFO] fetching crate btc-transaction-utils 0.9.0...
[INFO] checking btc-transaction-utils-0.9.0 against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] extracting crate btc-transaction-utils 0.9.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate btc-transaction-utils 0.9.0
[INFO] finished tweaking crates.io crate btc-transaction-utils 0.9.0
[INFO] tweaked toml for crates.io crate btc-transaction-utils 0.9.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate btc-transaction-utils 0.9.0 on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "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" "+52995a223f2919dd3e2e427231db90a257350ded" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 39 packages to highest compatible versions
[INFO] [stderr]       Adding bitcoin v0.23.0 (available: v0.32.102)
[INFO] [stderr]       Adding bitcoin_hashes v0.7.6 (available: v1.2.0)
[INFO] [stderr]       Adding cc v1.0.41 (available: v1.10.0)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.10.3)
[INFO] [stderr]       Adding secp256k1 v0.17.2 (available: v0.33.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.21)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec
[INFO] running `Command { std: "docker" "start" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.41
[INFO] [stderr]     Checking rand_core v0.3.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking bech32 v0.7.3
[INFO] [stderr]     Checking bitcoin_hashes v0.7.6
[INFO] [stderr]     Checking rand_chacha v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand v0.6.5
[INFO] [stderr]    Compiling secp256k1-sys v0.1.2
[INFO] [stderr]     Checking serde_str v0.1.0
[INFO] [stderr]     Checking secp256k1 v0.17.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking bitcoin v0.23.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking btc-transaction-utils v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/multisig.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/multisig.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 132 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 | /             ensure!(
[INFO] [stdout] 161 | |                 public_keys.len() == public_keys_len,
[INFO] [stdout] 162 | |                 RedeemScriptError::NotEnoughPublicKeys
[INFO] [stdout] 163 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 | /             ensure!(
[INFO] [stdout] 165 | |                 Some(Instruction::Op(OP_CHECKMULTISIG)) == instructions.next(),
[INFO] [stdout] 166 | |                 RedeemScriptError::NotStandard
[INFO] [stdout] 167 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 | macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |             return Err($e.into());
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         ensure!(self.0.quorum > 0, RedeemScriptError::NoQuorum);
[INFO] [stdout]     |         ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 | macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |             return Err($e.into());
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         ensure!(total_count != 0, RedeemScriptError::NotEnoughPublicKeys);
[INFO] [stdout]     |         ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | /         ensure!(
[INFO] [stdout] 231 | |             total_count >= self.0.quorum,
[INFO] [stdout] 232 | |             RedeemScriptError::IncorrectQuorum
[INFO] [stdout] 233 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:285:41
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn from(tx_ref: &'a Transaction) -> UnspentTxOutValue {
[INFO] [stdout]     |                      --                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is named 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn from(tx_ref: &'a Transaction) -> UnspentTxOutValue<'a> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sign.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn from(s: &'a InputSignature) -> InputSignatureRef {
[INFO] [stdout]     |                 --                    ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn from(s: &'a InputSignature) -> InputSignatureRef<'a> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::convert::From::from` that must be used
[INFO] [stdout]    --> src/multisig.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 | /         RedeemScript::from(
[INFO] [stdout] 318 | |             "5321027db7837e51888e94c094703030d162c682c8dba312210f44ff440fbd5e5c24732102bdd272891c9\
[INFO] [stdout] 319 | |              e4dfc3962b1fdffd5a59732019816f9db4833634dbdaf01a401a52103280883dc31ccaee34218819aaa24\
[INFO] [stdout] 320 | |              5480c35a33acd91283586ff6d1284ed681e52103e2bc790a6e32bf5a766919ff55b1f9e9914e13aed84f5\
[INFO] [stdout] 321 | |              02c0e4171976e19deb054ae",
[INFO] [stdout] 322 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let _ = RedeemScript::from(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::convert::From::from` that must be used
[INFO] [stdout]    --> src/multisig.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 | /         RedeemScript::from(
[INFO] [stdout] 328 | |             "5c21031cf96b4fef362af7d86ee6c7159fa89485730dac8e3090163dd0c282dbc84f2221028839757bba9\
[INFO] [stdout] 329 | |              bdf46ae553c124479e5c3ded609495f3e93e88ab23c0f559e8be521035c70ffb21d1b454ec650e511e76f6\
[INFO] [stdout] 330 | |              bd3fe76f49c471522ee187abac8d0131a18210234acd7dee22bc23688beed0c7e42c0930cfe024204b7298\
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |              793a1437db847ecd04129dc0112ae",
[INFO] [stdout] 343 | |         );
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let _ = RedeemScript::from(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `btc-transaction-utils` (lib test) due to 5 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 | /             ensure!(
[INFO] [stdout] 161 | |                 public_keys.len() == public_keys_len,
[INFO] [stdout] 162 | |                 RedeemScriptError::NotEnoughPublicKeys
[INFO] [stdout] 163 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 | /             ensure!(
[INFO] [stdout] 165 | |                 Some(Instruction::Op(OP_CHECKMULTISIG)) == instructions.next(),
[INFO] [stdout] 166 | |                 RedeemScriptError::NotStandard
[INFO] [stdout] 167 | |             );
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 | macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |             return Err($e.into());
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:228:9
[INFO] [stdout]     |
[INFO] [stdout] 228 |         ensure!(self.0.quorum > 0, RedeemScriptError::NoQuorum);
[INFO] [stdout]     |         ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 | macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |             return Err($e.into());
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         ensure!(total_count != 0, RedeemScriptError::NotEnoughPublicKeys);
[INFO] [stdout]     |         ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RedeemScriptError`
[INFO] [stdout]    --> src/macros.rs:18:24
[INFO] [stdout]     |
[INFO] [stdout]  15 |   macro_rules! ensure {
[INFO] [stdout] ...
[INFO] [stdout]  18 |               return Err($e.into());
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/multisig.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 | /         ensure!(
[INFO] [stdout] 231 | |             total_count >= self.0.quorum,
[INFO] [stdout] 232 | |             RedeemScriptError::IncorrectQuorum
[INFO] [stdout] 233 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: you can instead use the fully-qualified path `<RedeemScriptError as Into<RedeemScriptError>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:285:41
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn from(tx_ref: &'a Transaction) -> UnspentTxOutValue {
[INFO] [stdout]     |                      --                 ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is named 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn from(tx_ref: &'a Transaction) -> UnspentTxOutValue<'a> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/sign.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn from(s: &'a InputSignature) -> InputSignatureRef {
[INFO] [stdout]     |                 --                    ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn from(s: &'a InputSignature) -> InputSignatureRef<'a> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `btc-transaction-utils` (lib) due to 5 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec", kill_on_drop: false }`
[INFO] [stdout] b255431e9236fde1a3fc78a4c58426ca785f0e950a63fb3a7a61606995be7dec
