[INFO] cloning repository https://github.com/johnaco96/RustBlockchain
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johnaco96/RustBlockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnaco96%2FRustBlockchain", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnaco96%2FRustBlockchain'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6acb6901c7a614a75b0d8ef1cd666ff6901ac59e
[INFO] testing johnaco96/RustBlockchain against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnaco96%2FRustBlockchain" "/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/johnaco96/RustBlockchain
[INFO] finished tweaking git repo https://github.com/johnaco96/RustBlockchain
[INFO] tweaked toml for git repo https://github.com/johnaco96/RustBlockchain written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/johnaco96/RustBlockchain on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/johnaco96/RustBlockchain 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.24
[INFO] [stderr]   Downloaded lru v0.10.1
[INFO] [stderr]   Downloaded rustls-platform-verifier v0.5.1
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.0
[INFO] [stderr]   Downloaded quinn v0.11.7
[INFO] [stderr]   Downloaded zerocopy v0.8.24
[INFO] [stderr]   Downloaded chrono v0.4.40
[INFO] [stderr]   Downloaded rustls v0.23.25
[INFO] [stderr]   Downloaded rustls-webpki v0.103.1
[INFO] [stderr]   Downloaded aws-lc-sys v0.28.0
[INFO] [stderr]   Downloaded quinn-proto v0.11.10
[INFO] [stderr]   Downloaded quinn-udp v0.5.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 83e105cc79a162fe24cda1572bb052d518b5d534ae022490f0320c49339e2809
[INFO] running `Command { std: "docker" "start" "-a" "83e105cc79a162fe24cda1572bb052d518b5d534ae022490f0320c49339e2809", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "83e105cc79a162fe24cda1572bb052d518b5d534ae022490f0320c49339e2809", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83e105cc79a162fe24cda1572bb052d518b5d534ae022490f0320c49339e2809", kill_on_drop: false }`
[INFO] [stdout] 83e105cc79a162fe24cda1572bb052d518b5d534ae022490f0320c49339e2809
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dbc8e1485eb579b85e40055d14f9b8af66c1db6ccad60398a7a962e3c35c1034
[INFO] running `Command { std: "docker" "start" "-a" "dbc8e1485eb579b85e40055d14f9b8af66c1db6ccad60398a7a962e3c35c1034", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling aws-lc-rs v1.13.0
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls v0.23.25
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling quinn-udp v0.5.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling quinn v0.11.7
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling lru v0.10.1
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling cc v1.2.18
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.0
[INFO] [stderr]    Compiling aws-lc-sys v0.28.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.44.2
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.1
[INFO] [stderr]    Compiling rustls-platform-verifier v0.5.1
[INFO] [stderr]    Compiling quinn-proto v0.11.10
[INFO] [stderr]    Compiling blockchain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync`
[INFO] [stdout]  --> src/main.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::network::{p2p, sync};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gen_save_kp`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]  --> src/main.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/main.rs:102:39
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let end_datetime = NaiveDateTime::from_timestamp_opt(end_timestamp as i64, 0).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/main.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_hash` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn update_hash(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_node` is never used
[INFO] [stdout]   --> src/network/p2p.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn start_node(bind_addr: &str) -> anyhow::Result<Endpoint> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_to_peer` is never used
[INFO] [stdout]   --> src/network/p2p.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn connect_to_peer(endpoint: &Endpoint, peer_addr: &str) -> anyhow::Result<Connection> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectionCache` is never constructed
[INFO] [stdout]   --> src/network/sync.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ConnectionCache {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/network/sync.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl ConnectionCache {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get(&self, id: &str) -> Option<quinn::Connection> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn insert(&self, id: String, conn: quinn::Connection) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_sync_loop` is never used
[INFO] [stdout]   --> src/network/sync.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn run_sync_loop(conn: quinn::Connection) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_save_kp` is never used
[INFO] [stdout]   --> src/keygen.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn gen_save_kp(filepath: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 46s
[INFO] running `Command { std: "docker" "inspect" "dbc8e1485eb579b85e40055d14f9b8af66c1db6ccad60398a7a962e3c35c1034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbc8e1485eb579b85e40055d14f9b8af66c1db6ccad60398a7a962e3c35c1034", kill_on_drop: false }`
[INFO] [stdout] dbc8e1485eb579b85e40055d14f9b8af66c1db6ccad60398a7a962e3c35c1034
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 158bd1c88b992d51e70270c855aa2ec837392b4cb069ff40706cf96ca4cbd109
[INFO] running `Command { std: "docker" "start" "-a" "158bd1c88b992d51e70270c855aa2ec837392b4cb069ff40706cf96ca4cbd109", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling blockchain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync`
[INFO] [stdout]  --> src/main.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::network::{p2p, sync};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gen_save_kp`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]  --> src/main.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/main.rs:102:39
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let end_datetime = NaiveDateTime::from_timestamp_opt(end_timestamp as i64, 0).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/main.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_hash` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn update_hash(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_node` is never used
[INFO] [stdout]   --> src/network/p2p.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn start_node(bind_addr: &str) -> anyhow::Result<Endpoint> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_to_peer` is never used
[INFO] [stdout]   --> src/network/p2p.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn connect_to_peer(endpoint: &Endpoint, peer_addr: &str) -> anyhow::Result<Connection> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectionCache` is never constructed
[INFO] [stdout]   --> src/network/sync.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ConnectionCache {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/network/sync.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl ConnectionCache {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get(&self, id: &str) -> Option<quinn::Connection> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn insert(&self, id: String, conn: quinn::Connection) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_sync_loop` is never used
[INFO] [stdout]   --> src/network/sync.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn run_sync_loop(conn: quinn::Connection) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_save_kp` is never used
[INFO] [stdout]   --> src/keygen.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn gen_save_kp(filepath: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]  --> tests/network_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> tests/network_test.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync`
[INFO] [stdout]  --> src/main.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::network::{p2p, sync};
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gen_save_kp`
[INFO] [stdout]  --> src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]  --> src/main.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use anyhow::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/blockchain/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/blockchain/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stdout]   --> src/blockchain/block.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stdout]  --> src/blockchain/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> src/blockchain/validation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/blockchain/validation.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/blockchain/validation.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, thread};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stdout]  --> src/keygen.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerConfig`
[INFO] [stdout]  --> src/network/p2p.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/network/p2p.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/network/sync.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]   --> src/network/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> src/network/sync.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::BufReader`
[INFO] [stdout]   --> src/network/sync.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/network/sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_path`
[INFO] [stdout]   --> src/network/p2p.rs:32:41
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/blockchain/block.rs:146:62
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead
[INFO] [stdout]    --> src/main.rs:102:39
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let end_datetime = NaiveDateTime::from_timestamp_opt(end_timestamp as i64, 0).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]  --> src/network/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]  --> src/network/sync.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/sync.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyPair`
[INFO] [stdout]  --> src/keygen.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::{Digest, Sha256};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/blockchain/block.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         index: u32,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/main.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIFFICULTY` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DIFFICULTY: usize = 2;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_hash` is never used
[INFO] [stdout]   --> src/blockchain/block.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Block {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn update_hash(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_node` is never used
[INFO] [stdout]   --> src/network/p2p.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub async fn start_node(bind_addr: &str) -> anyhow::Result<Endpoint> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_to_peer` is never used
[INFO] [stdout]   --> src/network/p2p.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn connect_to_peer(endpoint: &Endpoint, peer_addr: &str) -> anyhow::Result<Connection> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConnectionCache` is never constructed
[INFO] [stdout]   --> src/network/sync.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ConnectionCache {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stdout]   --> src/network/sync.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl ConnectionCache {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get(&self, id: &str) -> Option<quinn::Connection> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn insert(&self, id: String, conn: quinn::Connection) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_sync_loop` is never used
[INFO] [stdout]   --> src/network/sync.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub async fn run_sync_loop(conn: quinn::Connection) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_save_kp` is never used
[INFO] [stdout]   --> src/keygen.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn gen_save_kp(filepath: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/network/sync.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         send.finish();
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = send.finish();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.24s
[INFO] running `Command { std: "docker" "inspect" "158bd1c88b992d51e70270c855aa2ec837392b4cb069ff40706cf96ca4cbd109", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "158bd1c88b992d51e70270c855aa2ec837392b4cb069ff40706cf96ca4cbd109", kill_on_drop: false }`
[INFO] [stdout] 158bd1c88b992d51e70270c855aa2ec837392b4cb069ff40706cf96ca4cbd109
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8083331adaec7c77f037d859522cd5ba3236c1f3a5341d2efc4bb7893c3bb964
[INFO] running `Command { std: "docker" "start" "-a" "8083331adaec7c77f037d859522cd5ba3236c1f3a5341d2efc4bb7893c3bb964", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/blockchain/block.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]   --> src/blockchain/block.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::thread;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `gen_save_kp`, `load_kp`, and `ver_sig`
[INFO] [stderr]   --> src/blockchain/block.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stderr]    |                     ^^^^^^^^^^^  ^^^^^^^            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::blockchain::transaction::Transaction`
[INFO] [stderr]  --> src/blockchain/validation.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::blockchain::transaction::Transaction;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> src/blockchain/validation.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stderr]  --> src/blockchain/validation.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stderr]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fmt`
[INFO] [stderr]  --> src/blockchain/validation.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::{fmt, thread};
[INFO] [stderr]   |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustls::ServerConfig as RustlsServerConfig`
[INFO] [stderr]  --> src/keygen.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rustls::ServerConfig as RustlsServerConfig;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ServerConfig`
[INFO] [stderr]  --> src/network/p2p.rs:1:35
[INFO] [stderr]   |
[INFO] [stderr] 1 | use quinn::{Endpoint, Connection, ServerConfig};
[INFO] [stderr]   |                                   ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::StreamExt`
[INFO] [stderr]  --> src/network/p2p.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use futures::StreamExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/network/sync.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stderr]   --> src/network/sync.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::AsyncBufReadExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::broadcast`
[INFO] [stderr]   --> src/network/sync.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::sync::broadcast;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::BufReader`
[INFO] [stderr]   --> src/network/sync.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::io::BufReader;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::mpsc`
[INFO] [stderr]   --> src/network/sync.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::sync::mpsc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key_path`
[INFO] [stderr]   --> src/network/p2p.rs:32:41
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub async fn start_listener(addr: &str, key_path: &str) -> anyhow::Result<()> {
[INFO] [stderr]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_path`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stderr]    --> src/blockchain/block.rs:146:62
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let datetime: NaiveDateTime = chrono::NaiveDateTime::from_timestamp(self.timestamp as i64, 0);
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyPair`
[INFO] [stderr]  --> src/keygen.rs:2:39
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ring::signature::{Ed25519KeyPair, KeyPair, UnparsedPublicKey, ED25519};
[INFO] [stderr]   |                                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures_util::StreamExt`
[INFO] [stderr]  --> src/network/sync.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use futures_util::StreamExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]  --> src/network/sync.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]  --> src/network/sync.rs:9:31
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]   |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> src/blockchain/block.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         index: u32,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIFFICULTY` is never used
[INFO] [stderr]   --> src/blockchain/block.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const DIFFICULTY: usize = 2;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/network/sync.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         send.finish();
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 69 |         let _ = send.finish();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/network/sync.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 88 |         send.finish();
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let _ = send.finish();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `blockchain` (lib) generated 25 warnings (run `cargo fix --lib -p blockchain` to apply 15 suggestions)
[INFO] [stderr] warning: `blockchain` (lib test) generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: unused import: `sync`
[INFO] [stderr]  --> src/main.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::network::{p2p, sync};
[INFO] [stderr]   |                           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gen_save_kp`
[INFO] [stderr]  --> src/main.rs:7:14
[INFO] [stderr]   |
[INFO] [stderr] 7 | use keygen::{gen_save_kp, load_kp, sign_msg, ver_sig};
[INFO] [stderr]   |              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sha256`
[INFO] [stderr]  --> src/main.rs:9:20
[INFO] [stderr]   |
[INFO] [stderr] 9 | use sha2::{Digest, Sha256};
[INFO] [stderr]   |                    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/main.rs:10:17
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use anyhow::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead
[INFO] [stderr]    --> src/main.rs:102:39
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let end_datetime = NaiveDateTime::from_timestamp_opt(end_timestamp as i64, 0).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Digest`
[INFO] [stderr]  --> src/main.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | use sha2::{Digest, Sha256};
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIFFICULTY` is never used
[INFO] [stderr]   --> src/main.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const DIFFICULTY: usize = 2;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DIFFICULTY` is never used
[INFO] [stderr]   --> src/blockchain/block.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const DIFFICULTY: usize = 2;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `update_hash` is never used
[INFO] [stderr]   --> src/blockchain/block.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl Block {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn update_hash(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `start_node` is never used
[INFO] [stderr]   --> src/network/p2p.rs:12:14
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub async fn start_node(bind_addr: &str) -> anyhow::Result<Endpoint> {
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `connect_to_peer` is never used
[INFO] [stderr]   --> src/network/p2p.rs:25:14
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub async fn connect_to_peer(endpoint: &Endpoint, peer_addr: &str) -> anyhow::Result<Connection> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConnectionCache` is never constructed
[INFO] [stderr]   --> src/network/sync.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct ConnectionCache {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get`, and `insert` are never used
[INFO] [stderr]   --> src/network/sync.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl ConnectionCache {
[INFO] [stderr]    | -------------------- associated items in this implementation
[INFO] [stderr] 36 |     pub fn new(size: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn get(&self, id: &str) -> Option<quinn::Connection> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn insert(&self, id: String, conn: quinn::Connection) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_sync_loop` is never used
[INFO] [stderr]   --> src/network/sync.rs:54:14
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub async fn run_sync_loop(conn: quinn::Connection) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `gen_save_kp` is never used
[INFO] [stderr]   --> src/keygen.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn gen_save_kp(filepath: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stderr]  --> tests/network_test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio::io::AsyncWriteExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stderr]   --> tests/network_test.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::AsyncReadExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `blockchain` (bin "blockchain" test) generated 40 warnings (24 duplicates) (run `cargo fix --bin "blockchain" --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `blockchain` (test "network_test") generated 2 warnings
[INFO] [stderr] warning: `blockchain` (bin "blockchain") generated 40 warnings (40 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/blockchain-92c5ee33c9e960e4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/blockchain-8eb57b76d1c1f070)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/quic_main.rs (/opt/rustwide/target/debug/deps/quic_main-814319198824ed38)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/network_test.rs (/opt/rustwide/target/debug/deps/network_test-07ccc1b911afd1ae)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_quic_connection ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_quic_connection stdout ----
[INFO] [stdout] Error: timed out
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.97/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/result.rs:2079:27
[INFO] [stdout]    2: network_test::test_quic_connection::{{closure}}
[INFO] [stdout]              at ./tests/network_test.rs:46:20
[INFO] [stdout]    3: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:733:70
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:733:25
[INFO] [stdout]    9: tokio::runtime::scheduler::current_thread::Context::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   10: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:732:44
[INFO] [stdout]   11: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:820:68
[INFO] [stdout]   12: tokio::runtime::context::scoped::Scoped<T>::set
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   13: tokio::runtime::context::set_scheduler::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/context.rs:180:38
[INFO] [stdout]   14: std::thread::local::LocalKey<T>::try_with
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:315:12
[INFO] [stdout]   15: std::thread::local::LocalKey<T>::with
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/local.rs:279:20
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/context.rs:180:17
[INFO] [stdout]   17: tokio::runtime::scheduler::current_thread::CoreGuard::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:820:27
[INFO] [stdout]   18: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:720:24
[INFO] [stdout]   19: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   20: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   21: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   22: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/runtime.rs:368:52
[INFO] [stdout]   23: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.44.2/src/runtime/runtime.rs:342:18
[INFO] [stdout]   24: network_test::test_quic_connection
[INFO] [stdout]              at ./tests/network_test.rs:70:7
[INFO] [stdout]   25: network_test::test_quic_connection::{{closure}}
[INFO] [stdout]              at ./tests/network_test.rs:13:36
[INFO] [stdout]   26: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: test::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:648:18
[INFO] [stdout]   29: test::run_test_in_process::{{closure}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:74
[INFO] [stdout]   30: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   31: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   32: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   33: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   34: test::run_test_in_process
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:671:27
[INFO] [stdout]   35: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:592:43
[INFO] [stdout]   36: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/test/src/lib.rs:622:41
[INFO] [stdout]   37: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   38: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   39: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   40: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:589:40
[INFO] [stdout]   41: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panicking.rs:552:19
[INFO] [stdout]   42: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/panic.rs:359:14
[INFO] [stdout]   43: std::thread::Builder::spawn_unchecked_::{{closure}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   44: core::ops::function::FnOnce::call_once{{vtable.shim}}
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   46: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   47: std::sys::pal::unix::thread::Thread::new::thread_start
[INFO] [stdout]              at /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_quic_connection
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.14s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test network_test`
[INFO] running `Command { std: "docker" "inspect" "8083331adaec7c77f037d859522cd5ba3236c1f3a5341d2efc4bb7893c3bb964", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8083331adaec7c77f037d859522cd5ba3236c1f3a5341d2efc4bb7893c3bb964", kill_on_drop: false }`
[INFO] [stdout] 8083331adaec7c77f037d859522cd5ba3236c1f3a5341d2efc4bb7893c3bb964
