[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#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcodeforcesrankzero%2FBlockchainAcademy" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/codeforcesrankzero/BlockchainAcademy on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fdd235726de558d562ce822db1a02c86d14110057a6d173920277923816e24c2
[INFO] running `Command { std: "docker" "start" "-a" "fdd235726de558d562ce822db1a02c86d14110057a6d173920277923816e24c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdd235726de558d562ce822db1a02c86d14110057a6d173920277923816e24c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdd235726de558d562ce822db1a02c86d14110057a6d173920277923816e24c2", kill_on_drop: false }`
[INFO] [stdout] fdd235726de558d562ce822db1a02c86d14110057a6d173920277923816e24c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 671558e1b092d0228af4cbf7a749186ff19eff1babd5168e6d26e434c077d7d8
[INFO] running `Command { std: "docker" "start" "-a" "671558e1b092d0228af4cbf7a749186ff19eff1babd5168e6d26e434c077d7d8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling ed25519 v1.5.3
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling sha2 v0.10.9
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling curve25519-dalek v3.2.1
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling ed25519-dalek v1.0.1
[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 32.76s
[INFO] running `Command { std: "docker" "inspect" "671558e1b092d0228af4cbf7a749186ff19eff1babd5168e6d26e434c077d7d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "671558e1b092d0228af4cbf7a749186ff19eff1babd5168e6d26e434c077d7d8", kill_on_drop: false }`
[INFO] [stdout] 671558e1b092d0228af4cbf7a749186ff19eff1babd5168e6d26e434c077d7d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 485833ed632b4bfd8fa1d51e90b99d0b5ccef3541675826d80a080e469d374dc
[INFO] running `Command { std: "docker" "start" "-a" "485833ed632b4bfd8fa1d51e90b99d0b5ccef3541675826d80a080e469d374dc", 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: 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: 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/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: `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 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 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: 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 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 `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: `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: 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: 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: 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 4.14s
[INFO] running `Command { std: "docker" "inspect" "485833ed632b4bfd8fa1d51e90b99d0b5ccef3541675826d80a080e469d374dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "485833ed632b4bfd8fa1d51e90b99d0b5ccef3541675826d80a080e469d374dc", kill_on_drop: false }`
[INFO] [stdout] 485833ed632b4bfd8fa1d51e90b99d0b5ccef3541675826d80a080e469d374dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] af4145c09ae8e5ab0452d34bcf9069e165bd874dcbf50bdcc8d1d1fc9493f343
[INFO] running `Command { std: "docker" "start" "-a" "af4145c09ae8e5ab0452d34bcf9069e165bd874dcbf50bdcc8d1d1fc9493f343", 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 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: 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] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] running 9 tests
[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: `toychain` (bin "sim" test) 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` (test "lab2_tests") generated 11 warnings (run `cargo fix --test "lab2_tests" -p toychain` to apply 8 suggestions)
[INFO] [stderr] warning: `toychain` (bin "interactive_sim" test) generated 3 warnings (run `cargo fix --bin "interactive_sim" -p toychain --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `toychain` (bin "interactive_sim") generated 3 warnings (3 duplicates)
[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 "sim") 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.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/toychain-16c7eb7b74176e29)
[INFO] [stdout] test mempool::tests::test_mempool_rejects_bad_nonce ... ok
[INFO] [stdout] test mempool::tests::test_mempool_basic ... ok
[INFO] [stdout] test state::tests::apply_tx_ok_and_counters ... ok
[INFO] [stdout] test tx::tests::sign_and_verify_ok_and_fail_on_mutation ... ok
[INFO] [stdout] test state::tests::insufficient_funds ... ok
[INFO] [stdout] test block::tests::mine_produces_valid_pow ... 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' (31) 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:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ac5851feaa2 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ac58521502a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ac58521502a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x5ac585203bc6 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5ac585203bc6 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5ac5851dbc9f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ac5851dbc9f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ac5851f62b9 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ac5850a5c6e - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5ac5850a5c6e - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5ac5851f6522 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5ac5851f6522 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5ac5851dbd58 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5ac5851d0cb9 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ac5851dcd7d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5ac58521576c - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ac5852154e2 - core[585f66e14d78f9ba]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5ac5850511d2 - <core[585f66e14d78f9ba]::result::Result<(), toychain[db3d39dde6ed2040]::storage::StorageError>>::unwrap
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5ac5850511d2 - toychain[db3d39dde6ed2040]::storage::tests::test_incremental_blocks
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:218:39
[INFO] [stdout]   22:     0x5ac58504f217 - toychain[db3d39dde6ed2040]::storage::tests::test_incremental_blocks::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:196:33
[INFO] [stdout]   23:     0x5ac58503bed6 - <toychain[db3d39dde6ed2040]::storage::tests::test_incremental_blocks::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5ac58509a01b - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5ac58509a01b - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5ac5850a687a - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5ac5850a0d44 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5ac5850a0d44 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5ac5850a9372 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5ac5850a9372 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5ac5851fde3f - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5ac5851fde3f - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x707038ce1aa4 - <unknown>
[INFO] [stdout]   45:     0x707038d6ea64 - 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' (32) 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:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ac5851feaa2 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ac5851feaa2 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ac58521502a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ac58521502a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x5ac585203bc6 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5ac585203bc6 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5ac5851dbc9f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ac5851dbc9f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ac5851f62b9 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ac5850a5c6e - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5ac5850a5c6e - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5ac5851f6522 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5ac5851f6522 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5ac5851dbd58 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5ac5851d0cb9 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ac5851dcd7d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5ac58521576c - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ac5852154e2 - core[585f66e14d78f9ba]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5ac5850509a0 - <core[585f66e14d78f9ba]::result::Result<(), toychain[db3d39dde6ed2040]::storage::StorageError>>::unwrap
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5ac5850509a0 - toychain[db3d39dde6ed2040]::storage::tests::test_save_load_chain
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:184:36
[INFO] [stdout]   22:     0x5ac58504f1e7 - toychain[db3d39dde6ed2040]::storage::tests::test_save_load_chain::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/storage.rs:177:30
[INFO] [stdout]   23:     0x5ac58503be96 - <toychain[db3d39dde6ed2040]::storage::tests::test_save_load_chain::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5ac58509a01b - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5ac58509a01b - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5ac5850a687a - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5ac5850a687a - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5ac5850a687a - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5ac5850a0d44 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5ac5850a0d44 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5ac5850a9372 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5ac5850a9372 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5ac5850a9372 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5ac5851fde3f - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5ac5851fde3f - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x707038ce1aa4 - <unknown>
[INFO] [stdout]   45:     0x707038d6ea64 - 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" "af4145c09ae8e5ab0452d34bcf9069e165bd874dcbf50bdcc8d1d1fc9493f343", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af4145c09ae8e5ab0452d34bcf9069e165bd874dcbf50bdcc8d1d1fc9493f343", kill_on_drop: false }`
[INFO] [stdout] af4145c09ae8e5ab0452d34bcf9069e165bd874dcbf50bdcc8d1d1fc9493f343
