[INFO] cloning repository https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKevingislason%2Frust_bitcoin_hardware_wallet_demos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKevingislason%2Frust_bitcoin_hardware_wallet_demos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b3f36a6b856cce40e99f81289c96a8bca040a3cb [INFO] checking Kevingislason/rust_bitcoin_hardware_wallet_demos against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKevingislason%2Frust_bitcoin_hardware_wallet_demos" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos [INFO] finished tweaking git repo https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos [INFO] tweaked toml for git repo https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Kevingislason/rust_bitcoin_hardware_wallet_demos on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 46 packages to latest compatible versions [INFO] [stderr] Adding auto_ops v0.1.0 (available: v0.3.0) [INFO] [stderr] Adding bit-vec v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding bitcoin v0.19.2 (available: v0.32.7) [INFO] [stderr] Adding cc v1.0.26 (available: v1.2.45) [INFO] [stderr] Adding hashbrown v0.7.2 (available: v0.16.0) [INFO] [stderr] Adding hmac v0.7.1 (available: v0.12.1) [INFO] [stderr] Adding num v0.2.1 (available: v0.4.3) [INFO] [stderr] Adding pbkdf2 v0.3.0 (available: v0.12.2) [INFO] [stderr] Adding ripemd160 v0.8.0 (available: v0.10.0) [INFO] [stderr] Adding sha2 v0.8.2 (available: v0.10.9) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1dc1bd4dbd38f33ca5f6b06ad83fb07d9ecdfa501645a1492aba62ad508b4966 [INFO] running `Command { std: "docker" "start" "-a" "1dc1bd4dbd38f33ca5f6b06ad83fb07d9ecdfa501645a1492aba62ad508b4966", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1dc1bd4dbd38f33ca5f6b06ad83fb07d9ecdfa501645a1492aba62ad508b4966", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1dc1bd4dbd38f33ca5f6b06ad83fb07d9ecdfa501645a1492aba62ad508b4966", kill_on_drop: false }` [INFO] [stdout] 1dc1bd4dbd38f33ca5f6b06ad83fb07d9ecdfa501645a1492aba62ad508b4966 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 583b5475367391d95bfe1beeb056e342f313c33bf9e0bae100fa783833e87d33 [INFO] running `Command { std: "docker" "start" "-a" "583b5475367391d95bfe1beeb056e342f313c33bf9e0bae100fa783833e87d33", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling cc v1.0.26 [INFO] [stderr] Compiling crunchy v0.1.6 [INFO] [stderr] Checking subtle v1.0.0 [INFO] [stderr] Compiling hashbrown v0.7.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Checking bitcoin_hashes v0.7.6 [INFO] [stderr] Checking ahash v0.3.8 [INFO] [stderr] Checking hex v0.3.2 [INFO] [stderr] Checking bech32 v0.7.3 [INFO] [stderr] Checking bigint v4.4.3 [INFO] [stderr] Checking genio v0.2.1 [INFO] [stderr] Checking auto_ops v0.1.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling secp256k1 v0.12.2 [INFO] [stderr] Checking generic-array v0.12.4 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking crypto-mac v0.7.0 [INFO] [stderr] Checking pbkdf2 v0.3.0 [INFO] [stderr] Checking hmac v0.7.1 [INFO] [stderr] Checking ripemd160 v0.8.0 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Checking bitcoin v0.19.2 [INFO] [stderr] Checking rust_bitcoin_hardware_wallet_demos v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro calls [INFO] [stdout] --> src/ecc.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[macro_use]` can be applied to crates, extern crates, and modules [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash_160` [INFO] [stdout] --> src/hd_wallet.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::helpers::{hash_160, hmac_512}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryInto` [INFO] [stdout] --> src/helpers.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use core::convert::{From, TryInto}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_int_pow` has been stable since 1.50.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(const_int_pow)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` attribute cannot be used on macro calls [INFO] [stdout] --> src/ecc.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[macro_use]` can be applied to crates, extern crates, and modules [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `U256_from_hex_str` [INFO] [stdout] --> src/ecc.rs:9:56 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::helpers::{encode_base58_checksum, hash_160, U256_from_hex_str}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::pow::pow` [INFO] [stdout] --> src/ecc.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use num::pow::pow; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash_160` [INFO] [stdout] --> src/hd_wallet.rs:3:22 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::helpers::{hash_160, hmac_512}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryInto` [INFO] [stdout] --> src/helpers.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use core::convert::{From, TryInto}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hd_wallet::HDSeed` [INFO] [stdout] --> src/seed_phrase.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::hd_wallet::HDSeed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_int_pow` has been stable since 1.50.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(const_int_pow)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/ecc.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use sha2::{Digest, Sha256}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ecc.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | let mut y_bytes = vec![0; 32]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hd_wallet.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let mut hardened_children = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hd_wallet.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut unhardened_children = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extended_private_key` [INFO] [stdout] --> src/hd_wallet.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(extended_private_key) = self.hardened_children.get(&new_child_number) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extended_private_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extended_private_key` [INFO] [stdout] --> src/hd_wallet.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(extended_private_key) = self.unhardened_children.get(&new_child_number) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extended_private_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/helpers.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | let mut combined = &combined[7..32]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word_index` [INFO] [stdout] --> src/seed_phrase.rs:93:10 [INFO] [stdout] | [INFO] [stdout] 93 | for (word_index, word) in self.words().iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_word_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ecc.rs:288:13 [INFO] [stdout] | [INFO] [stdout] 288 | let mut y_bytes = vec![0; 32]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hd_wallet.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | let mut hardened_children = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hd_wallet.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let mut unhardened_children = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extended_private_key` [INFO] [stdout] --> src/hd_wallet.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | if let Some(extended_private_key) = self.hardened_children.get(&new_child_number) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extended_private_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `extended_private_key` [INFO] [stdout] --> src/hd_wallet.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(extended_private_key) = self.unhardened_children.get(&new_child_number) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_extended_private_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/helpers.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | let mut combined = &combined[7..32]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word_index` [INFO] [stdout] --> src/seed_phrase.rs:93:10 [INFO] [stdout] | [INFO] [stdout] 93 | for (word_index, word) in self.words().iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_word_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:50:22 [INFO] [stdout] | [INFO] [stdout] 50 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_bitcoin_hardware_wallet_demos` (bin "rust_bitcoin_hardware_wallet_demos") due to 46 previous errors; 22 warnings emitted [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:80:76 [INFO] [stdout] | [INFO] [stdout] 80 | fn fill_buf(&mut self) -> core::result::Result<&[u8], Self::ReadError> { [INFO] [stdout] | ____________________________________________________________________________^ [INFO] [stdout] 81 | | let amt = cmp::min(self.pos, self.inner.as_ref().len() as u64); [INFO] [stdout] 82 | | Ok(&self.inner.as_ref()[(amt as usize)..]) [INFO] [stdout] 83 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | Ok(&self.inner.as_ref()[(amt as usize)..]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:96:88 [INFO] [stdout] | [INFO] [stdout] 96 | fn read(&mut self, buf: &mut [u8]) -> core::result::Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 97 | | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] 98 | | self.pos += n as u64; [INFO] [stdout] 99 | | Ok(n) [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, usize> [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, &[u8]> [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(n) [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/ecc.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | &self.num.to_big_endian(&mut num_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [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] 101 | let _ = &self.num.to_big_endian(&mut num_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/ecc.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | &self.prime.to_big_endian(&mut vec_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = &self.prime.to_big_endian(&mut vec_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | reader.read_exact(&mut version_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 248 | let _ = reader.read_exact(&mut version_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | reader.read_exact(&mut fingerprint_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 250 | let _ = reader.read_exact(&mut fingerprint_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | reader.read_exact(&mut chain_code_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 252 | let _ = reader.read_exact(&mut chain_code_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | reader.read_exact(&mut private_key_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 253 | let _ = reader.read_exact(&mut private_key_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:136:3 [INFO] [stdout] | [INFO] [stdout] 136 | cursor.read(&mut buffer).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | serialization.write_u16_little_endian(i as u16).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | serialization.write_u32_little_endian(i as u32).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | serialization.write_u64_little_endian(i as u64).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `U256_from_hex_str` should have a snake case name [INFO] [stdout] --> src/helpers.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn U256_from_hex_str(hex_str: &str) -> U256 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `u256_from_hex_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:18:113 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_u16_little_endian(&mut self, number: u16) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 19 | | let buf = number.to_le_bytes(); [INFO] [stdout] 20 | | return self::Write::write(self, &buf) [INFO] [stdout] 21 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:23:113 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_u32_little_endian(&mut self, number: u32) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 24 | | let buf = number.to_le_bytes(); [INFO] [stdout] 25 | | return self::Write::write(self, &buf) [INFO] [stdout] 26 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:28:113 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn write_u64_little_endian(&mut self, number: u64) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 29 | | let buf = number.to_le_bytes(); [INFO] [stdout] 30 | | return self::Write::write(self, &buf) [INFO] [stdout] 31 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:39:70 [INFO] [stdout] | [INFO] [stdout] 39 | fn write(&mut self, buf: &[u8]) -> Result { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 40 | | self.contents.extend_from_slice(buf); [INFO] [stdout] 41 | | Ok(buf.len()) [INFO] [stdout] 42 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | Ok(buf.len()) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | serialization.write_u32_little_endian(self.version).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | / serialization [INFO] [stdout] 70 | | .write(&encode_varint(self.tx_ins.len() as u64)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | serialization.write(&tx_in.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / serialization [INFO] [stdout] 76 | | .write(&encode_varint(self.tx_outs.len() as u64)) [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | serialization.write(&tx_out.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | / serialization [INFO] [stdout] 82 | | .write_u32_little_endian(self.locktime) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | serialization.write_u32_little_endian(self.version).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / serialization [INFO] [stdout] 92 | | .write(&encode_varint(self.tx_ins.len() as u64)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | serialization.write(&altered_tx_in.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | / serialization [INFO] [stdout] 110 | | .write(&encode_varint(self.tx_outs.len() as u64)) [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:114:7 [INFO] [stdout] | [INFO] [stdout] 114 | serialization.write(&tx_out.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | / serialization [INFO] [stdout] 117 | | .write_u32_little_endian(self.locktime) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | / serialization [INFO] [stdout] 121 | | .write_u32_little_endian(SIGHASH_ALL as u32) [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | serialization.write(&buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | / serialization [INFO] [stdout] 197 | | .write_u32_little_endian(self.prev_index) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | serialization.write(&self.script_sig.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | / serialization [INFO] [stdout] 202 | | .write_u32_little_endian(self.sequence) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | serialization.write_u64_little_endian(self.amount).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | / serialization [INFO] [stdout] 245 | | .write(&self.script_pubkey.serialize()) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:50:22 [INFO] [stdout] | [INFO] [stdout] 50 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | let result = self::Read::read(self, &mut buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:80:76 [INFO] [stdout] | [INFO] [stdout] 80 | fn fill_buf(&mut self) -> core::result::Result<&[u8], Self::ReadError> { [INFO] [stdout] | ____________________________________________________________________________^ [INFO] [stdout] 81 | | let amt = cmp::min(self.pos, self.inner.as_ref().len() as u64); [INFO] [stdout] 82 | | Ok(&self.inner.as_ref()[(amt as usize)..]) [INFO] [stdout] 83 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | Ok(&self.inner.as_ref()[(amt as usize)..]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:96:88 [INFO] [stdout] | [INFO] [stdout] 96 | fn read(&mut self, buf: &mut [u8]) -> core::result::Result { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 97 | | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] 98 | | self.pos += n as u64; [INFO] [stdout] 99 | | Ok(n) [INFO] [stdout] 100 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, usize> [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: ControlFlow, &[u8]> [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result<&[u8], Void> [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | let n = genio::Read::read(&mut self.fill_buf()?, buf)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/cursor.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | Ok(n) [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/ecc.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | &self.num.to_big_endian(&mut num_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [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] 101 | let _ = &self.num.to_big_endian(&mut num_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/ecc.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | &self.prime.to_big_endian(&mut vec_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = &self.prime.to_big_endian(&mut vec_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | reader.read_exact(&mut version_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 248 | let _ = reader.read_exact(&mut version_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | reader.read_exact(&mut fingerprint_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 250 | let _ = reader.read_exact(&mut fingerprint_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | reader.read_exact(&mut chain_code_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 252 | let _ = reader.read_exact(&mut chain_code_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/hd_wallet.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 253 | reader.read_exact(&mut private_key_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 253 | let _ = reader.read_exact(&mut private_key_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:136:3 [INFO] [stdout] | [INFO] [stdout] 136 | cursor.read(&mut buffer).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | serialization.write_u16_little_endian(i as u16).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | serialization.write_u32_little_endian(i as u32).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/helpers.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | serialization.write_u64_little_endian(i as u64).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `U256_from_hex_str` should have a snake case name [INFO] [stdout] --> src/helpers.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn U256_from_hex_str(hex_str: &str) -> U256 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `u256_from_hex_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_U256_from_hex_str` should have a snake case name [INFO] [stdout] --> src/helpers.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn test_U256_from_hex_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_u256_from_hex_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `max_U256` should have a snake case name [INFO] [stdout] --> src/helpers.rs:178:7 [INFO] [stdout] | [INFO] [stdout] 178 | let max_U256 = U256::MAX; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `max_u256` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U256_max_str` should have a snake case name [INFO] [stdout] --> src/helpers.rs:179:7 [INFO] [stdout] | [INFO] [stdout] 179 | let U256_max_str = &"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `u256_max_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:18:113 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_u16_little_endian(&mut self, number: u16) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 19 | | let buf = number.to_le_bytes(); [INFO] [stdout] 20 | | return self::Write::write(self, &buf) [INFO] [stdout] 21 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:23:113 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_u32_little_endian(&mut self, number: u32) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 24 | | let buf = number.to_le_bytes(); [INFO] [stdout] 25 | | return self::Write::write(self, &buf) [INFO] [stdout] 26 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:28:113 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn write_u64_little_endian(&mut self, number: u64) -> Result::WriteError> { [INFO] [stdout] | _________________________________________________________________________________________________________________^ [INFO] [stdout] 29 | | let buf = number.to_le_bytes(); [INFO] [stdout] 30 | | return self::Write::write(self, &buf) [INFO] [stdout] 31 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | return self::Write::write(self, &buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:39:70 [INFO] [stdout] | [INFO] [stdout] 39 | fn write(&mut self, buf: &[u8]) -> Result { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 40 | | self.contents.extend_from_slice(buf); [INFO] [stdout] 41 | | Ok(buf.len()) [INFO] [stdout] 42 | | } [INFO] [stdout] | |___^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/serialization.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | Ok(buf.len()) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | serialization.write_u32_little_endian(self.version).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | / serialization [INFO] [stdout] 70 | | .write(&encode_varint(self.tx_ins.len() as u64)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | serialization.write(&tx_in.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / serialization [INFO] [stdout] 76 | | .write(&encode_varint(self.tx_outs.len() as u64)) [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | serialization.write(&tx_out.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | / serialization [INFO] [stdout] 82 | | .write_u32_little_endian(self.locktime) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | serialization.write_u32_little_endian(self.version).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / serialization [INFO] [stdout] 92 | | .write(&encode_varint(self.tx_ins.len() as u64)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | serialization.write(&altered_tx_in.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | / serialization [INFO] [stdout] 110 | | .write(&encode_varint(self.tx_outs.len() as u64)) [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:114:7 [INFO] [stdout] | [INFO] [stdout] 114 | serialization.write(&tx_out.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | / serialization [INFO] [stdout] 117 | | .write_u32_little_endian(self.locktime) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | / serialization [INFO] [stdout] 121 | | .write_u32_little_endian(SIGHASH_ALL as u32) [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | serialization.write(&buf).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | / serialization [INFO] [stdout] 197 | | .write_u32_little_endian(self.prev_index) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | serialization.write(&self.script_sig.serialize()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | / serialization [INFO] [stdout] 202 | | .write_u32_little_endian(self.sequence) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | serialization.write_u64_little_endian(self.amount).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/tx.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | / serialization [INFO] [stdout] 245 | | .write(&self.script_pubkey.serialize()) [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_bitcoin_hardware_wallet_demos` (bin "rust_bitcoin_hardware_wallet_demos" test) due to 46 previous errors; 21 warnings emitted [INFO] running `Command { std: "docker" "inspect" "583b5475367391d95bfe1beeb056e342f313c33bf9e0bae100fa783833e87d33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "583b5475367391d95bfe1beeb056e342f313c33bf9e0bae100fa783833e87d33", kill_on_drop: false }` [INFO] [stdout] 583b5475367391d95bfe1beeb056e342f313c33bf9e0bae100fa783833e87d33