[INFO] cloning repository https://github.com/Xgood1118/solocoder-5541-rust-blockchain
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Xgood1118/solocoder-5541-rust-blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXgood1118%2Fsolocoder-5541-rust-blockchain", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXgood1118%2Fsolocoder-5541-rust-blockchain'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 68903581ecc5161ada1fc298ecfd4ca36517f29b
[INFO] testing Xgood1118/solocoder-5541-rust-blockchain against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXgood1118%2Fsolocoder-5541-rust-blockchain" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain
[INFO] finished tweaking git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain
[INFO] tweaked toml for git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.125
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.125
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.125
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.125
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.18
[INFO] [stderr]   Downloaded match-lookup v0.1.2
[INFO] [stderr]   Downloaded libp2p-upnp v0.2.2
[INFO] [stderr]   Downloaded pin-project-internal v1.1.13
[INFO] [stderr]   Downloaded base256emoji v1.0.2
[INFO] [stderr]   Downloaded zeroize_derive v1.5.0
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.20
[INFO] [stderr]   Downloaded libp2p-yamux v0.45.2
[INFO] [stderr]   Downloaded multibase v0.9.2
[INFO] [stderr]   Downloaded libp2p-swarm-derive v0.34.2
[INFO] [stderr]   Downloaded const-str v0.4.3
[INFO] [stderr]   Downloaded futures-timer v3.0.4
[INFO] [stderr]   Downloaded multihash v0.19.5
[INFO] [stderr]   Downloaded yamux v0.13.10
[INFO] [stderr]   Downloaded prost-derive v0.14.4
[INFO] [stderr]   Downloaded if-watch v3.2.2
[INFO] [stderr]   Downloaded prost v0.14.4
[INFO] [stderr]   Downloaded libp2p-core v0.41.3
[INFO] [stderr]   Downloaded libp2p v0.53.2
[INFO] [stderr]   Downloaded pin-project v1.1.13
[INFO] [stderr]   Downloaded libp2p-identity v0.2.14
[INFO] [stderr]   Downloaded js-sys v0.3.102
[INFO] [stderr]   Downloaded libp2p-swarm v0.44.2
[INFO] [stderr]   Downloaded rtnetlink v0.20.0
[INFO] [stderr]   Downloaded if-addrs v0.15.0
[INFO] [stderr]   Downloaded netlink-sys v0.8.8
[INFO] [stderr]   Downloaded netlink-proto v0.12.0
[INFO] [stderr]   Downloaded netlink-packet-core v0.8.1
[INFO] [stderr]   Downloaded libp2p-request-response v0.26.3
[INFO] [stderr]   Downloaded libp2p-quic v0.10.3
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded libp2p-tls v0.4.1
[INFO] [stderr]   Downloaded netlink-packet-route v0.28.0
[INFO] [stderr]   Downloaded cc v1.2.64
[INFO] [stderr]   Downloaded web-sys v0.3.102
[INFO] [stderr]   Downloaded libp2p-kad v0.45.3
[INFO] [stderr]   Downloaded libp2p-gossipsub v0.46.1
[INFO] [stderr]   Downloaded libp2p-mdns v0.45.1
[INFO] [stderr]   Downloaded futures-ticker v0.0.3
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a
[INFO] running `Command { std: "docker" "start" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", 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" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling unsigned-varint v0.8.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling const-str v0.4.3
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling unsigned-varint v0.7.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling multihash v0.19.5
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]    Compiling netlink-packet-core v0.8.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling prometheus-client v0.22.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling jiff v0.2.28
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling netlink-packet-route v0.28.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling sled v0.34.7
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.18
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling match-lookup v0.1.2
[INFO] [stderr]    Compiling data-encoding-macro v0.1.20
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling base256emoji v1.0.2
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.34.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling multibase v0.9.2
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling prost v0.14.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling libp2p-identity v0.2.14
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling asynchronous-codec v0.7.0
[INFO] [stderr]    Compiling futures-bounded v0.2.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling rw-stream-sink v0.4.0
[INFO] [stderr]    Compiling multistream-select v0.13.0
[INFO] [stderr]    Compiling yamux v0.12.1
[INFO] [stderr]    Compiling yamux v0.13.10
[INFO] [stderr]    Compiling futures-ticker v0.0.3
[INFO] [stderr]    Compiling quick-protobuf-codec v0.3.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling netlink-sys v0.8.8
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling netlink-proto v0.12.0
[INFO] [stderr]    Compiling rtnetlink v0.20.0
[INFO] [stderr]    Compiling multiaddr v0.18.2
[INFO] [stderr]    Compiling hickory-proto v0.24.4
[INFO] [stderr]    Compiling libp2p-core v0.41.3
[INFO] [stderr]    Compiling if-watch v3.2.2
[INFO] [stderr]    Compiling libp2p-swarm v0.44.2
[INFO] [stderr]    Compiling libp2p-noise v0.44.0
[INFO] [stderr]    Compiling libp2p-yamux v0.45.2
[INFO] [stderr]    Compiling libp2p-tcp v0.41.0
[INFO] [stderr]    Compiling libp2p-request-response v0.26.3
[INFO] [stderr]    Compiling libp2p-connection-limits v0.3.1
[INFO] [stderr]    Compiling libp2p-gossipsub v0.46.1
[INFO] [stderr]    Compiling libp2p-allow-block-list v0.3.0
[INFO] [stderr]    Compiling libp2p-mdns v0.45.1
[INFO] [stderr]    Compiling libp2p-kad v0.45.3
[INFO] [stderr]    Compiling libp2p v0.53.2
[INFO] [stderr]    Compiling rust-blockchain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: methods `store_block` and `db` are never used
[INFO] [stdout]    --> src/blockchain.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Blockchain {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn store_block(&self, block: &Block) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn db(&self) -> &Db {
[INFO] [stdout]     |            ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `best_hash` is never read
[INFO] [stdout]    --> src/blockchain.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct ChainInfo {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 331 |     pub height: u64,
[INFO] [stdout] 332 |     pub best_hash: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChainInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InsufficientFunds`, `PeerError`, `NetworkError`, `TxNotFound`, and `InvalidDifficulty` are never constructed
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum BlockchainError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InsufficientFunds { need: u64, available: u64 },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     PeerError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     NetworkError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     TxNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     InvalidDifficulty(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockchainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_total` is never read
[INFO] [stdout]   --> src/mempool.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MempoolEntry {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub input_total: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MempoolEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `is_empty`, `all_tx_ids`, and `reject_log` are never used
[INFO] [stdout]    --> src/mempool.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl Mempool {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn contains(&self, tx_id: &[u8; 32]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn all_tx_ids(&self) -> Vec<[u8; 32]> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn reject_log(&self) -> &[(String, String)] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_NAME` is never used
[INFO] [stdout]   --> src/network.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const PROTOCOL_NAME: &str = "rust-blockchain/1.0.0";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `broadcast_tx` is never used
[INFO] [stdout]   --> src/network.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl NetworkService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn broadcast_tx(&self, tx: &Transaction) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_connected` is never used
[INFO] [stdout]   --> src/peer.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Peer {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn is_connected(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_peer`, `remove_peer`, `get_peer`, `get_peer_mut`, and `connected_peers` are never used
[INFO] [stdout]    --> src/peer.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl PeerManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn add_peer(&mut self, peer_id: String, addr: String) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn remove_peer(&mut self, peer_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn get_peer(&self, peer_id: &str) -> Option<&Peer> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get_peer_mut(&mut self, peer_id: &str) -> Option<&mut Peer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn connected_peers(&self) -> Vec<&Peer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sign_data` is never used
[INFO] [stdout]   --> src/transaction.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TxInput {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 16 |     pub fn sign_data(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `create_signed` are never used
[INFO] [stdout]   --> src/transaction.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Transaction {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 44 |     pub fn new(mut inputs: Vec<TxInput>, outputs: Vec<TxOutput>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn create_signed(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bytes` and `from_bytes` are never used
[INFO] [stdout]   --> src/utxo.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl UtxoKey {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_bytes(bytes: &[u8]) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_spent`, `undo_transaction`, `is_empty`, and `find_utxos_for_pub_key` are never used
[INFO] [stdout]    --> src/utxo.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl UtxoSet {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn is_spent(&self, key: &UtxoKey) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn undo_transaction(&mut self, tx: &Transaction) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn find_utxos_for_pub_key(&self, pub_key: &[u8]) -> Vec<(UtxoKey, TxOutput)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-blockchain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: methods `store_block` and `db` are never used
[INFO] [stdout]    --> src/blockchain.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Blockchain {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn store_block(&self, block: &Block) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn db(&self) -> &Db {
[INFO] [stdout]     |            ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `best_hash` is never read
[INFO] [stdout]    --> src/blockchain.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct ChainInfo {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 331 |     pub height: u64,
[INFO] [stdout] 332 |     pub best_hash: [u8; 32],
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChainInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InsufficientFunds`, `PeerError`, `NetworkError`, `TxNotFound`, and `InvalidDifficulty` are never constructed
[INFO] [stdout]   --> src/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum BlockchainError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InsufficientFunds { need: u64, available: u64 },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     PeerError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     NetworkError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     TxNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     InvalidDifficulty(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockchainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input_total` is never read
[INFO] [stdout]   --> src/mempool.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MempoolEntry {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub input_total: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MempoolEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `is_empty`, `all_tx_ids`, and `reject_log` are never used
[INFO] [stdout]    --> src/mempool.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl Mempool {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn contains(&self, tx_id: &[u8; 32]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn all_tx_ids(&self) -> Vec<[u8; 32]> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn reject_log(&self) -> &[(String, String)] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROTOCOL_NAME` is never used
[INFO] [stdout]   --> src/network.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const PROTOCOL_NAME: &str = "rust-blockchain/1.0.0";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `broadcast_tx` is never used
[INFO] [stdout]   --> src/network.rs:96:18
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl NetworkService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub async fn broadcast_tx(&self, tx: &Transaction) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_connected` is never used
[INFO] [stdout]   --> src/peer.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Peer {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn is_connected(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_peer`, `remove_peer`, `get_peer`, `get_peer_mut`, and `connected_peers` are never used
[INFO] [stdout]    --> src/peer.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl PeerManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn add_peer(&mut self, peer_id: String, addr: String) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn remove_peer(&mut self, peer_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn get_peer(&self, peer_id: &str) -> Option<&Peer> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get_peer_mut(&mut self, peer_id: &str) -> Option<&mut Peer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn connected_peers(&self) -> Vec<&Peer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sign_data` is never used
[INFO] [stdout]   --> src/transaction.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TxInput {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 16 |     pub fn sign_data(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/transaction.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Transaction {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 44 |     pub fn new(mut inputs: Vec<TxInput>, outputs: Vec<TxOutput>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bytes` and `from_bytes` are never used
[INFO] [stdout]   --> src/utxo.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl UtxoKey {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn from_bytes(bytes: &[u8]) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `undo_transaction`, `is_empty`, and `find_utxos_for_pub_key` are never used
[INFO] [stdout]    --> src/utxo.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl UtxoSet {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn undo_transaction(&mut self, tx: &Transaction) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn find_utxos_for_pub_key(&self, pub_key: &[u8]) -> Vec<(UtxoKey, TxOutput)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.56s
[INFO] running `Command { std: "docker" "inspect" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: methods `store_block` and `db` are never used
[INFO] [stderr]    --> src/blockchain.rs:116:12
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl Blockchain {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn store_block(&self, block: &Block) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub fn db(&self) -> &Db {
[INFO] [stderr]     |            ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `best_hash` is never read
[INFO] [stderr]    --> src/blockchain.rs:332:9
[INFO] [stderr]     |
[INFO] [stderr] 330 | pub struct ChainInfo {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] 331 |     pub height: u64,
[INFO] [stderr] 332 |     pub best_hash: [u8; 32],
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ChainInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InsufficientFunds`, `PeerError`, `NetworkError`, `TxNotFound`, and `InvalidDifficulty` are never constructed
[INFO] [stderr]   --> src/error.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum BlockchainError {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 21 |     InsufficientFunds { need: u64, available: u64 },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     PeerError(String),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     NetworkError(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     TxNotFound(String),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     InvalidDifficulty(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BlockchainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `input_total` is never read
[INFO] [stderr]   --> src/mempool.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct MempoolEntry {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub input_total: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MempoolEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `contains`, `is_empty`, `all_tx_ids`, and `reject_log` are never used
[INFO] [stderr]    --> src/mempool.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr]  47 | impl Mempool {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn contains(&self, tx_id: &[u8; 32]) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 181 |     pub fn all_tx_ids(&self) -> Vec<[u8; 32]> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 185 |     pub fn reject_log(&self) -> &[(String, String)] {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROTOCOL_NAME` is never used
[INFO] [stderr]   --> src/network.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const PROTOCOL_NAME: &str = "rust-blockchain/1.0.0";
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `broadcast_tx` is never used
[INFO] [stderr]   --> src/network.rs:96:18
[INFO] [stderr]    |
[INFO] [stderr] 59 | impl NetworkService {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub async fn broadcast_tx(&self, tx: &Transaction) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_connected` is never used
[INFO] [stderr]   --> src/peer.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl Peer {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn is_connected(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_peer`, `remove_peer`, `get_peer`, `get_peer_mut`, and `connected_peers` are never used
[INFO] [stderr]    --> src/peer.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr]  98 | impl PeerManager {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 105 |     pub fn add_peer(&mut self, peer_id: String, addr: String) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn remove_peer(&mut self, peer_id: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn get_peer(&self, peer_id: &str) -> Option<&Peer> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn get_peer_mut(&mut self, peer_id: &str) -> Option<&mut Peer> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn connected_peers(&self) -> Vec<&Peer> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `sign_data` is never used
[INFO] [stderr]   --> src/transaction.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl TxInput {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] 16 |     pub fn sign_data(&self) -> Vec<u8> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/transaction.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | impl Transaction {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] 44 |     pub fn new(mut inputs: Vec<TxInput>, outputs: Vec<TxOutput>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `to_bytes` and `from_bytes` are never used
[INFO] [stderr]   --> src/utxo.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl UtxoKey {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn from_bytes(bytes: &[u8]) -> Option<Self> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `undo_transaction`, `is_empty`, and `find_utxos_for_pub_key` are never used
[INFO] [stderr]    --> src/utxo.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr]  42 | impl UtxoSet {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn undo_transaction(&mut self, tx: &Transaction) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub fn find_utxos_for_pub_key(&self, pub_key: &[u8]) -> Vec<(UtxoKey, TxOutput)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-blockchain` (bin "rust-blockchain" test) generated 13 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_blockchain-6833826fb5a140f6)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test block::tests::test_block_header_hash_deterministic ... ok
[INFO] [stdout] test block::tests::test_merkle_root_empty ... ok
[INFO] [stdout] test peer::tests::test_invalid_peer_transition ... ok
[INFO] [stdout] test peer::tests::test_invalid_transitions ... ok
[INFO] [stdout] test peer::tests::test_peer_transition_audit ... ok
[INFO] [stdout] test peer::tests::test_valid_transitions ... ok
[INFO] [stdout] test pow::tests::test_difficulty_adjustment_too_fast ... ok
[INFO] [stdout] test pow::tests::test_difficulty_adjustment_too_slow ... ok
[INFO] [stdout] test pow::tests::test_difficulty_adjustment_within_bounds ... ok
[INFO] [stdout] test pow::tests::test_difficulty_clamp_4x ... ok
[INFO] [stdout] test pow::tests::test_meets_difficulty ... ok
[INFO] [stdout] test pow::tests::test_mining_reward_halving ... ok
[INFO] [stdout] test transaction::tests::test_coinbase_transaction ... ok
[INFO] [stdout] test utxo::tests::test_double_spend_detected ... ok
[INFO] [stdout] test utxo::tests::test_utxo_add_and_get ... ok
[INFO] [stdout] test utxo::tests::test_utxo_spend ... ok
[INFO] [stdout] test transaction::tests::test_tx_id_deterministic ... ok
[INFO] [stdout] test mempool::tests::test_mempool_add_valid_tx ... ok
[INFO] [stdout] test mempool::tests::test_mempool_reject_duplicate ... ok
[INFO] [stdout] test transaction::tests::test_sign_and_verify ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a", kill_on_drop: false }`
[INFO] [stdout] 1c0ede308768fc7df66aa8748db2adcd24fec3f3760fbc1d3a8fbea43da4ec8a
