[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] checking Xgood1118/solocoder-5541-rust-blockchain against 24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXgood1118%2Fsolocoder-5541-rust-blockchain" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Xgood1118/solocoder-5541-rust-blockchain on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4
[INFO] running `Command { std: "docker" "start" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4", 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" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking const-str v0.4.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking multihash v0.19.5
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking futures-timer v3.0.4
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking netlink-packet-core v0.8.1
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking netlink-packet-route v0.28.0
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling prometheus-client v0.22.3
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking jiff v0.2.28
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking chrono v0.4.45
[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]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]    Compiling prost-derive v0.14.4
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.18
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling match-lookup v0.1.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking data-encoding-macro v0.1.20
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking base256emoji v1.0.2
[INFO] [stderr]     Checking multibase v0.9.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.34.2
[INFO] [stderr]     Checking regex v1.12.4
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking quick-protobuf-codec v0.3.1
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking futures-bounded v0.2.4
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]     Checking prost v0.14.4
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking libp2p-identity v0.2.14
[INFO] [stderr]     Checking futures-ticker v0.0.3
[INFO] [stderr]     Checking yamux v0.12.1
[INFO] [stderr]     Checking yamux v0.13.10
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking hickory-proto v0.24.4
[INFO] [stderr]     Checking multiaddr v0.18.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking libp2p-core v0.41.3
[INFO] [stderr]     Checking libp2p-yamux v0.45.2
[INFO] [stderr]     Checking libp2p-noise v0.44.0
[INFO] [stderr]     Checking libp2p-swarm v0.44.2
[INFO] [stderr]     Checking netlink-sys v0.8.8
[INFO] [stderr]     Checking netlink-proto v0.12.0
[INFO] [stderr]     Checking rtnetlink v0.20.0
[INFO] [stderr]     Checking libp2p-allow-block-list v0.3.0
[INFO] [stderr]     Checking libp2p-request-response v0.26.3
[INFO] [stderr]     Checking libp2p-gossipsub v0.46.1
[INFO] [stderr]     Checking libp2p-connection-limits v0.3.1
[INFO] [stderr]     Checking libp2p-kad v0.45.3
[INFO] [stderr]     Checking if-watch v3.2.2
[INFO] [stderr]     Checking libp2p-tcp v0.41.0
[INFO] [stderr]     Checking libp2p-mdns v0.45.1
[INFO] [stderr]     Checking libp2p v0.53.2
[INFO] [stderr]     Checking 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] [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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[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] running `Command { std: "docker" "inspect" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4", kill_on_drop: false }`
[INFO] [stdout] 28f2ea3e5b7ec16e7472ca9c2b2e0f7d93a19b345f19c1a5a20b0425993803f4
