[INFO] cloning repository https://github.com/codeforcesrankzero/BlockchainAcademy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/codeforcesrankzero/BlockchainAcademy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodeforcesrankzero%2FBlockchainAcademy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodeforcesrankzero%2FBlockchainAcademy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 21ae29bc93172f56c0fdb578b4ef93a59fb7f7ad
[INFO] testing codeforcesrankzero/BlockchainAcademy against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodeforcesrankzero%2FBlockchainAcademy" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/codeforcesrankzero/BlockchainAcademy
[INFO] finished tweaking git repo https://github.com/codeforcesrankzero/BlockchainAcademy
[INFO] tweaked toml for git repo https://github.com/codeforcesrankzero/BlockchainAcademy written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/codeforcesrankzero/BlockchainAcademy on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/codeforcesrankzero/BlockchainAcademy 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c5cd41cc9fcab13b205348f886379083ee04863f67f684aa0d5f07b193e37a2
[INFO] running `Command { std: "docker" "start" "-a" "7c5cd41cc9fcab13b205348f886379083ee04863f67f684aa0d5f07b193e37a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c5cd41cc9fcab13b205348f886379083ee04863f67f684aa0d5f07b193e37a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c5cd41cc9fcab13b205348f886379083ee04863f67f684aa0d5f07b193e37a2", kill_on_drop: false }`
[INFO] [stdout] 7c5cd41cc9fcab13b205348f886379083ee04863f67f684aa0d5f07b193e37a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 59645fcdd006602b564d6bdb574a7c7aa9c4cfbf46a62b919ce0d6a71fc148a1
[INFO] running `Command { std: "docker" "start" "-a" "59645fcdd006602b564d6bdb574a7c7aa9c4cfbf46a62b919ce0d6a71fc148a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling ed25519 v1.5.3
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling curve25519-dalek v3.2.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ed25519-dalek v1.0.1
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toychain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/network.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Peer {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 45 |     address: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/bin/attack_51.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Attacker {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] 8 |     name: &'static str,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/bin/interactive_sim.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/sim.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 13 |     name: &'static str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `show_network_topology` and `log_level` are never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct VisualizationConfig {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     show_network_topology: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     show_block_details: bool,
[INFO] [stdout] 53 |     log_level: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VisualizationConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 57 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.67s
[INFO] running `Command { std: "docker" "inspect" "59645fcdd006602b564d6bdb574a7c7aa9c4cfbf46a62b919ce0d6a71fc148a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59645fcdd006602b564d6bdb574a7c7aa9c4cfbf46a62b919ce0d6a71fc148a1", kill_on_drop: false }`
[INFO] [stdout] 59645fcdd006602b564d6bdb574a7c7aa9c4cfbf46a62b919ce0d6a71fc148a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 96963af31a8d4b129228d4f511d644db57c458ef63aa479f24965eec6cec3ed2
[INFO] running `Command { std: "docker" "start" "-a" "96963af31a8d4b129228d4f511d644db57c458ef63aa479f24965eec6cec3ed2", kill_on_drop: false }`
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/network.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Peer {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 45 |     address: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling toychain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/bin/interactive_sim.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `show_network_topology` and `log_level` are never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct VisualizationConfig {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     show_network_topology: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     show_block_details: bool,
[INFO] [stdout] 53 |     log_level: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VisualizationConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 57 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/bin/attack_51.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Attacker {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] 8 |     name: &'static str,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/sim.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 13 |     name: &'static str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpListener`
[INFO] [stdout]  --> tests/../labs/lab3/simple_network.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/bin/interactive_sim.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/sim.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 13 |     name: &'static str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `meets_difficulty` and `now_ts`
[INFO] [stdout]  --> tests/../labs/lab2/chain.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use toychain::crypto::{meets_difficulty, now_ts, Hash32};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/bin/attack_51.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Attacker {
[INFO] [stdout]   |        -------- field in this struct
[INFO] [stdout] 8 |     name: &'static str,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicKey`, `Signature`, `Signer`, and `Verifier`
[INFO] [stdout]  --> tests/../labs/lab1/transaction.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ed25519_dalek::{Keypair, PublicKey, Signature, Signer, Verifier};
[INFO] [stdout]   |                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pubkey_to_address` and `sha256`
[INFO] [stdout]  --> tests/../labs/lab1/transaction.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use toychain::crypto::{sha256, pubkey_to_address, Hash32};
[INFO] [stdout]   |                        ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `meets_difficulty` and `sha256`
[INFO] [stdout]  --> tests/../labs/lab1/block.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use toychain::crypto::{sha256, meets_difficulty, Hash32};
[INFO] [stdout]   |                        ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `listen_addr`
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(listen_addr: impl Into<String>) -> Self {
[INFO] [stdout]    |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listen_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub async fn connect(&mut self, addr: &str) -> Result<(), NetworkError> {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:52:35
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub async fn broadcast(&self, msg: Message) {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> tests/../labs/lab2/state.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn balance_of(&self, address: &str) -> u128 {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> tests/../labs/lab2/state.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn nonce_of(&self, address: &str) -> u64 {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> tests/../labs/lab2/state.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn apply_tx(&mut self, tx: &Transaction) -> Result<(), TxError> {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]   --> tests/../labs/lab2/state.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn apply_block(&mut self, block: &toychain::block::Block) -> Result<(), TxError> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]   --> tests/../labs/lab2/chain.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn add_block(&mut self, block: Block) -> Result<(), BlockError> {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txs`
[INFO] [stdout]   --> tests/../labs/lab2/chain.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn mine_block(&self, txs: Vec<Transaction>, miner_address: &str) -> Block {
[INFO] [stdout]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_txs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `miner_address`
[INFO] [stdout]   --> tests/../labs/lab2/chain.rs:63:53
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn mine_block(&self, txs: Vec<Transaction>, miner_address: &str) -> Block {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_miner_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_block` is never used
[INFO] [stdout]   --> tests/../labs/lab2/state.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn apply_block(&mut self, block: &toychain::block::Block) -> Result<(), TxError> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> tests/../labs/lab2/chain.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum BlockError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 11 |     #[error("prev hash mismatch")]
[INFO] [stdout] 12 |     PrevHashMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     #[error("bad height")]
[INFO] [stdout] 14 |     BadHeight,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     #[error("timestamp too old")]
[INFO] [stdout] 16 |     BadTimestamp,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     #[error("pow not satisfied")]
[INFO] [stdout] 18 |     BadPoW,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     #[error("tx invalid: {0}")]
[INFO] [stdout] 20 |     TxInvalid(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     #[error("missing coinbase")]
[INFO] [stdout] 22 |     NoCoinbase,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     #[error("invalid coinbase reward")]
[INFO] [stdout] 24 |     InvalidReward,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 25 |     #[error("multiple coinbase transactions")]
[INFO] [stdout] 26 |     MultipleCoinbase,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tip_hash` is never used
[INFO] [stdout]   --> tests/../labs/lab2/chain.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Chain {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn tip_hash(&self) -> Hash32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Serialization` and `ConnectionClosed` are never constructed
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum NetworkError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Serialization(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     #[error("Connection closed")]
[INFO] [stdout] 19 |     ConnectionClosed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetworkError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `listen_addr`, `incoming_rx`, and `incoming_tx` are never read
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SimpleNetwork {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 33 |     listen_addr: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 34 |     peers: Arc<RwLock<HashMap<String, mpsc::Sender<Message>>>>,
[INFO] [stdout] 35 |     incoming_rx: mpsc::Receiver<Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     incoming_tx: mpsc::Sender<Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_message` is never used
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | async fn send_message(stream: &mut TcpStream, msg: &Message) -> Result<(), NetworkError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `receive_message` is never used
[INFO] [stdout]   --> tests/../labs/lab3/simple_network.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | async fn receive_message(stream: &mut TcpStream) -> Result<Message, NetworkError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `show_network_topology` and `log_level` are never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct VisualizationConfig {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     show_network_topology: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     show_block_details: bool,
[INFO] [stdout] 53 |     log_level: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VisualizationConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/bin/interactive_sim.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Wallet {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 57 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         from: String,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         to: String,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         amount: u64,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nonce`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         nonce: u64,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pubkey`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         pubkey: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keypair`
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:76:28
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn sign(&mut self, keypair: &Keypair) {
[INFO] [stdout]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/../labs/lab1/block.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn mine(mut self) -> Self {
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoSignature`, `NoPubKey`, `InvalidSignature`, `FromAddressMismatch`, `InsufficientFunds`, and `BadNonce` are never constructed
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum TxError {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout]  9 |     #[error("signature missing")]
[INFO] [stdout] 10 |     NoSignature,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 11 |     #[error("pubkey missing")]
[INFO] [stdout] 12 |     NoPubKey,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 13 |     #[error("invalid signature")]
[INFO] [stdout] 14 |     InvalidSignature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     #[error("from address mismatch with pubkey")]
[INFO] [stdout] 16 |     FromAddressMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     #[error("insufficient funds")]
[INFO] [stdout] 18 |     InsufficientFunds,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     #[error("bad nonce")]
[INFO] [stdout] 20 |     BadNonce,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_coinbase` and `bytes_for_signing` are never used
[INFO] [stdout]   --> tests/../labs/lab1/transaction.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Transaction {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn new_coinbase(to: String, amount: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn bytes_for_signing(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/network.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Peer {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 45 |     address: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.67s
[INFO] running `Command { std: "docker" "inspect" "96963af31a8d4b129228d4f511d644db57c458ef63aa479f24965eec6cec3ed2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96963af31a8d4b129228d4f511d644db57c458ef63aa479f24965eec6cec3ed2", kill_on_drop: false }`
[INFO] [stdout] 96963af31a8d4b129228d4f511d644db57c458ef63aa479f24965eec6cec3ed2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 134e9ae9153f461f92aff65d635d99b0b09cee0ebb310b528f763f50e1e423c6
[INFO] running `Command { std: "docker" "start" "-a" "134e9ae9153f461f92aff65d635d99b0b09cee0ebb310b528f763f50e1e423c6", kill_on_drop: false }`
[INFO] [stderr] warning: field `address` is never read
[INFO] [stderr]   --> src/network.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct Peer {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 45 |     address: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `toychain` (lib) generated 1 warning
[INFO] [stderr] warning: `toychain` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/bin/sim.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct Wallet {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 13 |     name: &'static str,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PublicKey`, `Signature`, `Signer`, and `Verifier`
[INFO] [stderr]  --> tests/../labs/lab1/transaction.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ed25519_dalek::{Keypair, PublicKey, Signature, Signer, Verifier};
[INFO] [stderr]   |                              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `pubkey_to_address` and `sha256`
[INFO] [stderr]  --> tests/../labs/lab1/transaction.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use toychain::crypto::{sha256, pubkey_to_address, Hash32};
[INFO] [stderr]   |                        ^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `meets_difficulty` and `sha256`
[INFO] [stderr]  --> tests/../labs/lab1/block.rs:3:24
[INFO] [stderr]   |
[INFO] [stderr] 3 | use toychain::crypto::{sha256, meets_difficulty, Hash32};
[INFO] [stderr]   |                        ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         from: String,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         to: String,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amount`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |         amount: u64,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nonce`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |         nonce: u64,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nonce`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pubkey`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         pubkey: Vec<u8>,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pubkey`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keypair`
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:76:28
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub fn sign(&mut self, keypair: &Keypair) {
[INFO] [stderr]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keypair`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/../labs/lab1/block.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub fn mine(mut self) -> Self {
[INFO] [stderr]    |                 ----^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `NoSignature`, `NoPubKey`, `InvalidSignature`, `FromAddressMismatch`, `InsufficientFunds`, and `BadNonce` are never constructed
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub enum TxError {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr]  9 |     #[error("signature missing")]
[INFO] [stderr] 10 |     NoSignature,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 11 |     #[error("pubkey missing")]
[INFO] [stderr] 12 |     NoPubKey,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 13 |     #[error("invalid signature")]
[INFO] [stderr] 14 |     InvalidSignature,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     #[error("from address mismatch with pubkey")]
[INFO] [stderr] 16 |     FromAddressMismatch,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     #[error("insufficient funds")]
[INFO] [stderr] 18 |     InsufficientFunds,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 19 |     #[error("bad nonce")]
[INFO] [stderr] 20 |     BadNonce,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_coinbase` and `bytes_for_signing` are never used
[INFO] [stderr]   --> tests/../labs/lab1/transaction.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl Transaction {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn new_coinbase(to: String, amount: u64) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     fn bytes_for_signing(&self) -> Vec<u8> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serialize`
[INFO] [stderr]  --> src/bin/interactive_sim.rs:3:26
[INFO] [stderr]   |
[INFO] [stderr] 3 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |                          ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `show_network_topology` and `log_level` are never read
[INFO] [stderr]   --> src/bin/interactive_sim.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | struct VisualizationConfig {
[INFO] [stderr]    |        ------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 51 |     show_network_topology: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 52 |     show_block_details: bool,
[INFO] [stderr] 53 |     log_level: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VisualizationConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/bin/interactive_sim.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | struct Wallet {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 57 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TcpListener`
[INFO] [stderr]  --> tests/../labs/lab3/simple_network.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stderr]   |                  ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `listen_addr`
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:40:16
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub fn new(listen_addr: impl Into<String>) -> Self {
[INFO] [stderr]    |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_listen_addr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:48:37
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub async fn connect(&mut self, addr: &str) -> Result<(), NetworkError> {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:52:35
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub async fn broadcast(&self, msg: Message) {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Serialization` and `ConnectionClosed` are never constructed
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum NetworkError {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 17 |     Serialization(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 18 |     #[error("Connection closed")]
[INFO] [stderr] 19 |     ConnectionClosed,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NetworkError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `listen_addr`, `incoming_rx`, and `incoming_tx` are never read
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct SimpleNetwork {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 33 |     listen_addr: String,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 34 |     peers: Arc<RwLock<HashMap<String, mpsc::Sender<Message>>>>,
[INFO] [stderr] 35 |     incoming_rx: mpsc::Receiver<Message>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 36 |     incoming_tx: mpsc::Sender<Message>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_message` is never used
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | async fn send_message(stream: &mut TcpStream, msg: &Message) -> Result<(), NetworkError> {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `receive_message` is never used
[INFO] [stderr]   --> tests/../labs/lab3/simple_network.rs:77:10
[INFO] [stderr]    |
[INFO] [stderr] 77 | async fn receive_message(stream: &mut TcpStream) -> Result<Message, NetworkError> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]  --> src/bin/attack_51.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct Attacker {
[INFO] [stderr]   |        -------- field in this struct
[INFO] [stderr] 8 |     name: &'static str,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `meets_difficulty` and `now_ts`
[INFO] [stderr]  --> tests/../labs/lab2/chain.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use toychain::crypto::{meets_difficulty, now_ts, Hash32};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]   --> tests/../labs/lab2/state.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn balance_of(&self, address: &str) -> u128 {
[INFO] [stderr]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]   --> tests/../labs/lab2/state.rs:16:28
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub fn nonce_of(&self, address: &str) -> u64 {
[INFO] [stderr]    |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx`
[INFO] [stderr]   --> tests/../labs/lab2/state.rs:20:32
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn apply_tx(&mut self, tx: &Transaction) -> Result<(), TxError> {
[INFO] [stderr]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]   --> tests/../labs/lab2/state.rs:24:35
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn apply_block(&mut self, block: &toychain::block::Block) -> Result<(), TxError> {
[INFO] [stderr]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block`
[INFO] [stderr]   --> tests/../labs/lab2/chain.rs:59:33
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn add_block(&mut self, block: Block) -> Result<(), BlockError> {
[INFO] [stderr]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `txs`
[INFO] [stderr]   --> tests/../labs/lab2/chain.rs:63:30
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn mine_block(&self, txs: Vec<Transaction>, miner_address: &str) -> Block {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_txs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `miner_address`
[INFO] [stderr]   --> tests/../labs/lab2/chain.rs:63:53
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn mine_block(&self, txs: Vec<Transaction>, miner_address: &str) -> Block {
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_miner_address`
[INFO] [stderr] 
[INFO] [stderr] warning: method `apply_block` is never used
[INFO] [stderr]   --> tests/../labs/lab2/state.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl State {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn apply_block(&mut self, block: &toychain::block::Block) -> Result<(), TxError> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> tests/../labs/lab2/chain.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum BlockError {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] 11 |     #[error("prev hash mismatch")]
[INFO] [stderr] 12 |     PrevHashMismatch,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     #[error("bad height")]
[INFO] [stderr] 14 |     BadHeight,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 15 |     #[error("timestamp too old")]
[INFO] [stderr] 16 |     BadTimestamp,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 17 |     #[error("pow not satisfied")]
[INFO] [stderr] 18 |     BadPoW,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 19 |     #[error("tx invalid: {0}")]
[INFO] [stderr] 20 |     TxInvalid(String),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 21 |     #[error("missing coinbase")]
[INFO] [stderr] 22 |     NoCoinbase,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 23 |     #[error("invalid coinbase reward")]
[INFO] [stderr] 24 |     InvalidReward,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 25 |     #[error("multiple coinbase transactions")]
[INFO] [stderr] 26 |     MultipleCoinbase,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `tip_hash` is never used
[INFO] [stderr]   --> tests/../labs/lab2/chain.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl Chain {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn tip_hash(&self) -> Hash32 {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `toychain` (bin "sim") generated 1 warning
[INFO] [stderr] warning: `toychain` (test "lab1_tests") generated 12 warnings (run `cargo fix --test "lab1_tests" -p toychain` to apply 10 suggestions)
[INFO] [stderr] warning: `toychain` (bin "interactive_sim") generated 3 warnings (run `cargo fix --bin "interactive_sim" -p toychain` to apply 1 suggestion)
[INFO] [stderr] warning: `toychain` (test "lab3_tests") generated 8 warnings (run `cargo fix --test "lab3_tests" -p toychain` to apply 4 suggestions)
[INFO] [stderr] warning: `toychain` (bin "attack_51" test) generated 1 warning
[INFO] [stderr] warning: `toychain` (bin "interactive_sim" test) generated 3 warnings (3 duplicates)
[INFO] [stderr] warning: `toychain` (test "lab2_tests") generated 11 warnings (run `cargo fix --test "lab2_tests" -p toychain` to apply 8 suggestions)
[INFO] [stderr] warning: `toychain` (bin "sim" test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `toychain` (bin "attack_51") generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/toychain/16c7eb7b74176e29/deps/toychain-16c7eb7b74176e29)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test mempool::tests::test_mempool_rejects_bad_nonce ... ok
[INFO] [stdout] test state::tests::apply_tx_ok_and_counters ... ok
[INFO] [stdout] test state::tests::insufficient_funds ... ok
[INFO] [stdout] test mempool::tests::test_mempool_basic ... ok
[INFO] [stdout] test block::tests::mine_produces_valid_pow ... ok
[INFO] [stdout] test tx::tests::sign_and_verify_ok_and_fail_on_mutation ... ok
[INFO] [stdout] test storage::tests::test_incremental_blocks ... FAILED
[INFO] [stdout] test storage::tests::test_save_load_chain ... FAILED
[INFO] [stdout] test network::tests::test_network_connection ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- storage::tests::test_incremental_blocks stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'storage::tests::test_incremental_blocks' (30) panicked at src/storage.rs:218:39:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Io(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6081eb437272 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6081eb437272 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6081eb437272 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6081eb437272 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6081eb44d82a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6081eb44d82a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6081eb43c3c6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6081eb43c3c6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6081eb413e5f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6081eb413e5f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6081eb42ea89 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6081eb2dd06e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6081eb2dd06e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6081eb42ecf2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6081eb42ecf2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6081eb413f18 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6081eb40b659 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6081eb414f3d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6081eb44df6c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6081eb44dce2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6081eb27a352 - <core[8f93d80df273fe75]::result::Result<(), toychain[85c36f0d153f373]::storage::StorageError>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x6081eb27a352 - toychain[85c36f0d153f373]::storage::tests::test_incremental_blocks
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:218:39
[INFO] [stdout]   22:     0x6081eb278f37 - toychain[85c36f0d153f373]::storage::tests::test_incremental_blocks::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:196:33
[INFO] [stdout]   23:     0x6081eb27bf66 - <toychain[85c36f0d153f373]::storage::tests::test_incremental_blocks::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6081eb2d141b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6081eb2d141b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6081eb2ddc7a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x6081eb2ddc7a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6081eb2ddc7a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6081eb2ddc7a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6081eb2d8144 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6081eb2d8144 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6081eb2e0772 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6081eb2e0772 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x6081eb2e0772 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6081eb2e0772 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6081eb2e0772 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6081eb2e0772 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6081eb2e0772 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6081eb43660f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x6081eb43660f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x776d85c33aa4 - <unknown>
[INFO] [stdout]   45:     0x776d85cc0a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- storage::tests::test_save_load_chain stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'storage::tests::test_save_load_chain' (31) panicked at src/storage.rs:184:36:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Io(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6081eb437272 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6081eb437272 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6081eb437272 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6081eb437272 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6081eb44d82a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6081eb44d82a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6081eb43c3c6 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6081eb43c3c6 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6081eb413e5f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6081eb413e5f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6081eb42ea89 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6081eb2dd06e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6081eb2dd06e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6081eb42ecf2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6081eb42ecf2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6081eb413f18 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6081eb40b659 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6081eb414f3d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6081eb44df6c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6081eb44dce2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6081eb279b20 - <core[8f93d80df273fe75]::result::Result<(), toychain[85c36f0d153f373]::storage::StorageError>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x6081eb279b20 - toychain[85c36f0d153f373]::storage::tests::test_save_load_chain
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:184:36
[INFO] [stdout]   22:     0x6081eb278f07 - toychain[85c36f0d153f373]::storage::tests::test_save_load_chain::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:177:30
[INFO] [stdout]   23:     0x6081eb27bf26 - <toychain[85c36f0d153f373]::storage::tests::test_save_load_chain::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6081eb2d141b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6081eb2d141b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6081eb2ddc7a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x6081eb2ddc7a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6081eb2ddc7a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6081eb2ddc7a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6081eb2ddc7a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6081eb2d8144 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6081eb2d8144 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6081eb2e0772 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6081eb2e0772 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x6081eb2e0772 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6081eb2e0772 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6081eb2e0772 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6081eb2e0772 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6081eb2e0772 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x6081eb43660f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x6081eb43660f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x776d85c33aa4 - <unknown>
[INFO] [stdout]   45:     0x776d85cc0a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     storage::tests::test_incremental_blocks
[INFO] [stdout]     storage::tests::test_save_load_chain
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "134e9ae9153f461f92aff65d635d99b0b09cee0ebb310b528f763f50e1e423c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "134e9ae9153f461f92aff65d635d99b0b09cee0ebb310b528f763f50e1e423c6", kill_on_drop: false }`
[INFO] [stdout] 134e9ae9153f461f92aff65d635d99b0b09cee0ebb310b528f763f50e1e423c6
