[INFO] cloning repository https://github.com/mucks/projectx-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mucks/projectx-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmucks%2Fprojectx-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmucks%2Fprojectx-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 649099ccbee7934b03142a87d8d11dd9f3cbf0bd
[INFO] checking mucks/projectx-rs against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmucks%2Fprojectx-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mucks/projectx-rs
[INFO] finished tweaking git repo https://github.com/mucks/projectx-rs
[INFO] tweaked toml for git repo https://github.com/mucks/projectx-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mucks/projectx-rs on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mucks/projectx-rs 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded primeorder v0.12.1
[INFO] [stderr]   Downloaded signature v2.0.0
[INFO] [stderr]   Downloaded ecdsa v0.15.1
[INFO] [stderr]   Downloaded serdect v0.1.0
[INFO] [stderr]   Downloaded p256 v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0fdfa5d020ef5cf9b9261b45016f0a6b144b6adb03129bcfa9a7027d51c192ae
[INFO] running `Command { std: "docker" "start" "-a" "0fdfa5d020ef5cf9b9261b45016f0a6b144b6adb03129bcfa9a7027d51c192ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fdfa5d020ef5cf9b9261b45016f0a6b144b6adb03129bcfa9a7027d51c192ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fdfa5d020ef5cf9b9261b45016f0a6b144b6adb03129bcfa9a7027d51c192ae", kill_on_drop: false }`
[INFO] [stdout] 0fdfa5d020ef5cf9b9261b45016f0a6b144b6adb03129bcfa9a7027d51c192ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0dfc204f8cd808e574c5a6e038f50d8bf6bfc6ae256d109d748d69cd6072c14a
[INFO] running `Command { std: "docker" "start" "-a" "0dfc204f8cd808e574c5a6e038f50d8bf6bfc6ae256d109d748d69cd6072c14a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.51
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]     Checking zeroize v1.5.7
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling io-lifetimes v1.0.5
[INFO] [stderr]    Compiling rustix v0.36.8
[INFO] [stderr]     Checking linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling tokio v1.25.0
[INFO] [stderr]    Compiling anyhow v1.0.69
[INFO] [stderr]     Checking regex-syntax v0.6.28
[INFO] [stderr]    Compiling async-trait v0.1.64
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]     Checking der v0.6.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.6
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking spki v0.6.0
[INFO] [stderr]     Checking pkcs8 v0.9.0
[INFO] [stderr]     Checking regex v1.7.1
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking signature v2.0.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking is-terminal v0.4.3
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling tokio-macros v1.8.2
[INFO] [stderr]     Checking serdect v0.1.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking sec1 v0.3.0
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]     Checking ecdsa v0.15.1
[INFO] [stderr]     Checking primeorder v0.12.1
[INFO] [stderr]     Checking p256 v0.12.0
[INFO] [stderr]     Checking projectx-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{error, info};
[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: `std::io`
[INFO] [stdout]  --> src/core/encoding.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Transaction`
[INFO] [stdout]  --> src/core/encoding.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/core/vm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/network/local_transport.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/network/rpc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/network/server.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockHasher`
[INFO] [stdout]  --> src/network/server.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{BincodeEncoder, Block, BlockHasher, Blockchain, Encoder, Transaction, TxHasher},
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/network/transport.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{mpsc, Mutex, RwLock};
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/main.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{error, info};
[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: `std::io`
[INFO] [stdout]  --> src/core/encoding.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Transaction`
[INFO] [stdout]  --> src/core/encoding.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/core/vm.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/network/local_transport.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/network/rpc.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/network/server.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockHasher`
[INFO] [stdout]  --> src/network/server.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 |     core::{BincodeEncoder, Block, BlockHasher, Blockchain, Encoder, Transaction, TxHasher},
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/network/transport.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{mpsc, Mutex, RwLock};
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]  --> src/main.rs:6:66
[INFO] [stdout]   |
[INFO] [stdout] 6 | use network::{BTransport, Message, MessageType, NetAddr, Server, Transport};
[INFO] [stdout]   |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Encoder`
[INFO] [stdout]  --> src/main.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{BincodeEncoder, Encoder, Transaction};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/core/hasher.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]   --> src/network/server.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Transport, RPC,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/core/vm.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> src/core/vm.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `net_addr`
[INFO] [stdout]    --> src/network/server.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         net_addr: &NetAddr,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_net_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/network/server.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         from: &NetAddr,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_initial_transaction` is never used
[INFO] [stdout]   --> src/main.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn send_initial_transaction() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_remote_servers` is never used
[INFO] [stdout]    --> src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | async fn init_remote_servers(trs: Vec<BTransport>) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction` is never used
[INFO] [stdout]    --> src/main.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | async fn send_transaction(tr: BTransport, to: NetAddr) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contract` is never used
[INFO] [stdout]    --> src/main.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn contract() -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `add_transaction`, `decode`, and `random` are never used
[INFO] [stdout]    --> src/core/block.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Block {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn add_transaction(&mut self, tx: Transaction) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn decode(&mut self, dec: &mut dyn Decoder<Self>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn random(height: u32, prev_block_hash: Hash) -> Result<Block> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `store` is never read
[INFO] [stdout]   --> src/core/blockchain.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Blockchain {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     store: Box<dyn Storage>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_validator`, `get_prev_block_hash`, and `len` are never used
[INFO] [stdout]    --> src/core/blockchain.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Blockchain {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn set_validator(&mut self, v: Box<dyn Validator>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub async fn get_prev_block_hash(&self, height: u32) -> Result<Hash> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]   --> src/core/state.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn delete(&mut self, k: &Vec<u8>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put` and `get` are never used
[INFO] [stdout]  --> src/core/storage.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Storage: Send + Sync {
[INFO] [stdout]   |           ------- methods in this trait
[INFO] [stdout] 4 |     fn put(&self) -> Result<()>;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 5 |     fn get(&self) -> Result<()>;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sign`, `decode`, and `random_with_signature` are never used
[INFO] [stdout]   --> src/core/transaction.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Transaction {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn sign(&mut self, private_key: &PrivateKey) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn decode(&mut self, dec: &mut dyn Decoder<Transaction>) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn random_with_signature() -> Transaction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]   --> src/core/vm.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl StackItem {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 57 |     pub fn to_string(self) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `address` is never used
[INFO] [stdout]   --> src/crypto/keypair.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl PublicKey {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 42 |     pub fn address(&self) -> Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GetBlocksMessage` is never constructed
[INFO] [stdout]   --> src/network/rpc.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum DecodedMessageData {
[INFO] [stdout]    |          ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     GetBlocksMessage(GetBlocksMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DecodedMessageData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RPCHandler` is never used
[INFO] [stdout]    --> src/network/rpc.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub trait RPCHandler {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultRPCHandler` is never constructed
[INFO] [stdout]    --> src/network/rpc.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct DefaultRPCHandler<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/network/rpc.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> DefaultRPCHandler<'a> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 123 |     pub fn new(p: &'a mut dyn RPCProcessor) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RPCProcessor` is never used
[INFO] [stdout]    --> src/network/rpc.rs:128:11
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub trait RPCProcessor {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `less`, and `swap` are never used
[INFO] [stdout]   --> src/network/tx_pool.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> TxMapSorter<'a> {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn less(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn swap(&mut self, i: usize, j: usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `flush`, `pending`, and `all_cloned` are never used
[INFO] [stdout]    --> src/network/tx_pool.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl TxPool {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn flush(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn pending(&self) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn all_cloned(&self) -> Vec<Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]  --> src/types/address.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bytes` is never used
[INFO] [stdout]   --> src/types/address.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Address {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn from_bytes(bytes: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `into_bytes` and `random` are never used
[INFO] [stdout]   --> src/types/hash.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Hash {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn into_bytes(&self) -> [u8; 32] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn random() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]  --> src/main.rs:6:66
[INFO] [stdout]   |
[INFO] [stdout] 6 | use network::{BTransport, Message, MessageType, NetAddr, Server, Transport};
[INFO] [stdout]   |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Encoder`
[INFO] [stdout]  --> src/main.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::core::{BincodeEncoder, Encoder, Transaction};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/core/hasher.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]   --> src/network/server.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Transport, RPC,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/core/vm.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> src/core/vm.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/local_transport.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut tr_a = LocalTransport::new("A".into());
[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/network/local_transport.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let mut tr_b = LocalTransport::new("B".into());
[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/network/local_transport.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut tr_a = LocalTransport::new("A".into());
[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/network/local_transport.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut tr_b = LocalTransport::new("B".into());
[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/network/local_transport.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut tr_a = LocalTransport::new("A".into());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `net_addr`
[INFO] [stdout]    --> src/network/server.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         net_addr: &NetAddr,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_net_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/network/server.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         from: &NetAddr,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_initial_transaction` is never used
[INFO] [stdout]   --> src/main.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn send_initial_transaction() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_remote_servers` is never used
[INFO] [stdout]    --> src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 | async fn init_remote_servers(trs: Vec<BTransport>) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction` is never used
[INFO] [stdout]    --> src/main.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | async fn send_transaction(tr: BTransport, to: NetAddr) -> Result<()> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contract` is never used
[INFO] [stdout]    --> src/main.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn contract() -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_transaction` and `decode` are never used
[INFO] [stdout]    --> src/core/block.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Block {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn add_transaction(&mut self, tx: Transaction) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn decode(&mut self, dec: &mut dyn Decoder<Self>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `store` is never read
[INFO] [stdout]   --> src/core/blockchain.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Blockchain {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     store: Box<dyn Storage>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_validator` is never used
[INFO] [stdout]   --> src/core/blockchain.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Blockchain {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_validator(&mut self, v: Box<dyn Validator>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]   --> src/core/state.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn delete(&mut self, k: &Vec<u8>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put` and `get` are never used
[INFO] [stdout]  --> src/core/storage.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Storage: Send + Sync {
[INFO] [stdout]   |           ------- methods in this trait
[INFO] [stdout] 4 |     fn put(&self) -> Result<()>;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 5 |     fn get(&self) -> Result<()>;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `address` is never used
[INFO] [stdout]   --> src/crypto/keypair.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl PublicKey {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 42 |     pub fn address(&self) -> Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GetBlocksMessage` is never constructed
[INFO] [stdout]   --> src/network/rpc.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum DecodedMessageData {
[INFO] [stdout]    |          ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     GetBlocksMessage(GetBlocksMessage),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DecodedMessageData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RPCHandler` is never used
[INFO] [stdout]    --> src/network/rpc.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub trait RPCHandler {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultRPCHandler` is never constructed
[INFO] [stdout]    --> src/network/rpc.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct DefaultRPCHandler<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/network/rpc.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<'a> DefaultRPCHandler<'a> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 123 |     pub fn new(p: &'a mut dyn RPCProcessor) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RPCProcessor` is never used
[INFO] [stdout]    --> src/network/rpc.rs:128:11
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub trait RPCProcessor {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `less`, and `swap` are never used
[INFO] [stdout]   --> src/network/tx_pool.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> TxMapSorter<'a> {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn less(&self, i: usize, j: usize) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn swap(&mut self, i: usize, j: usize) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `flush`, `pending`, and `all_cloned` are never used
[INFO] [stdout]    --> src/network/tx_pool.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl TxPool {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn flush(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn pending(&self) -> Vec<&Transaction> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn all_cloned(&self) -> Vec<Transaction> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]  --> src/types/address.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Address([u8; 20]);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bytes` is never used
[INFO] [stdout]   --> src/types/address.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Address {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 17 |     pub fn from_bytes(bytes: &[u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_bytes` is never used
[INFO] [stdout]   --> src/types/hash.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Hash {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 22 |     pub fn into_bytes(&self) -> [u8; 32] {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.77s
[INFO] running `Command { std: "docker" "inspect" "0dfc204f8cd808e574c5a6e038f50d8bf6bfc6ae256d109d748d69cd6072c14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0dfc204f8cd808e574c5a6e038f50d8bf6bfc6ae256d109d748d69cd6072c14a", kill_on_drop: false }`
[INFO] [stdout] 0dfc204f8cd808e574c5a6e038f50d8bf6bfc6ae256d109d748d69cd6072c14a
