[INFO] cloning repository https://github.com/takatori/rust-coin
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/takatori/rust-coin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakatori%2Frust-coin", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakatori%2Frust-coin'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 93076f35aca5a0a5c849c8bfcbce0fa0c8c2386e
[INFO] testing takatori/rust-coin/93076f35aca5a0a5c849c8bfcbce0fa0c8c2386e against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakatori%2Frust-coin" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/takatori/rust-coin
[INFO] finished tweaking git repo https://github.com/takatori/rust-coin
[INFO] tweaked toml for git repo https://github.com/takatori/rust-coin written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/takatori/rust-coin on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/takatori/rust-coin already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded generic-array v0.8.3
[INFO] [stderr]   Downloaded nodrop v0.1.9
[INFO] [stderr]   Downloaded redox_syscall v0.1.31
[INFO] [stderr]   Downloaded byte-tools v0.2.0
[INFO] [stderr]   Downloaded odds v0.2.25
[INFO] [stderr]   Downloaded sha2 v0.6.0
[INFO] [stderr]   Downloaded digest v0.6.2
[INFO] [stderr]   Downloaded num_cpus v1.6.2
[INFO] [stderr]   Downloaded smallvec v0.2.1
[INFO] [stderr]   Downloaded futures-cpupool v0.1.6
[INFO] [stderr]   Downloaded iovec v0.1.0
[INFO] [stderr]   Downloaded mime v0.3.3
[INFO] [stderr]   Downloaded byteorder v1.1.0
[INFO] [stderr]   Downloaded serde_derive_internals v0.16.0
[INFO] [stderr]   Downloaded conv v0.3.3
[INFO] [stderr]   Downloaded rand v0.3.16
[INFO] [stderr]   Downloaded scoped-tls v0.1.0
[INFO] [stderr]   Downloaded tokio-core v0.1.9
[INFO] [stderr]   Downloaded serde_json v1.0.3
[INFO] [stderr]   Downloaded libc v0.2.30
[INFO] [stderr]   Downloaded bytes v0.4.5
[INFO] [stderr]   Downloaded mio v0.6.10
[INFO] [stderr]   Downloaded futures v0.1.16
[INFO] [stderr]   Downloaded hyper v0.11.2
[INFO] [stderr]   Downloaded serde v1.0.15
[INFO] [stderr]   Downloaded block-buffer v0.2.0
[INFO] [stderr]   Downloaded unicase v2.0.0
[INFO] [stderr]   Downloaded custom_derive v0.1.7
[INFO] [stderr]   Downloaded magenta v0.1.1
[INFO] [stderr]   Downloaded tokio-io v0.1.3
[INFO] [stderr]   Downloaded tokio-proto v0.1.1
[INFO] [stderr]   Downloaded serde_derive v1.0.15
[INFO] [stderr]   Downloaded num-traits v0.1.40
[INFO] [stderr]   Downloaded percent-encoding v1.0.0
[INFO] [stderr]   Downloaded net2 v0.2.31
[INFO] [stderr]   Downloaded log v0.3.8
[INFO] [stderr]   Downloaded bitflags v0.7.0
[INFO] [stderr]   Downloaded magenta-sys v0.1.1
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded rustc_version v0.1.7
[INFO] [stderr]   Downloaded take v0.1.0
[INFO] [stderr]   Downloaded lazycell v0.5.1
[INFO] [stderr]   Downloaded tokio-service v0.1.0
[INFO] [stderr]   Downloaded semver v0.1.20
[INFO] [stderr]   Downloaded typenum v1.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 19327862e1c1aa66bc0b1fc6a7d674598605996e7657664711f3e2a7bfdc13d5
[INFO] running `Command { std: "docker" "start" "-a" "19327862e1c1aa66bc0b1fc6a7d674598605996e7657664711f3e2a7bfdc13d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "19327862e1c1aa66bc0b1fc6a7d674598605996e7657664711f3e2a7bfdc13d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "19327862e1c1aa66bc0b1fc6a7d674598605996e7657664711f3e2a7bfdc13d5", kill_on_drop: false }`
[INFO] [stdout] 19327862e1c1aa66bc0b1fc6a7d674598605996e7657664711f3e2a7bfdc13d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ecfb03620dafb8eaa87bfb646e63ca69aed9115ff55fbf98c0f50468dffcd0bc
[INFO] running `Command { std: "docker" "start" "-a" "ecfb03620dafb8eaa87bfb646e63ca69aed9115ff55fbf98c0f50468dffcd0bc", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.30
[INFO] [stderr]    Compiling byteorder v1.1.0
[INFO] [stderr]    Compiling typenum v1.9.0
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling futures v0.1.16
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling log v0.3.8
[INFO] [stderr]    Compiling odds v0.2.25
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling lazycell v0.5.1
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling scoped-tls v0.1.0
[INFO] [stderr]    Compiling smallvec v0.2.1
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling take v0.1.0
[INFO] [stderr]    Compiling safemem v0.2.0
[INFO] [stderr]    Compiling language-tags v0.2.2
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling httparse v1.2.3
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling percent-encoding v1.0.0
[INFO] [stderr]    Compiling serde v1.0.15
[INFO] [stderr]    Compiling dtoa v0.4.2
[INFO] [stderr]    Compiling num-traits v0.1.40
[INFO] [stderr]    Compiling iovec v0.1.0
[INFO] [stderr]    Compiling net2 v0.2.31
[INFO] [stderr]    Compiling num_cpus v1.6.2
[INFO] [stderr]    Compiling rand v0.3.16
[INFO] [stderr]    Compiling base64 v0.6.0
[INFO] [stderr]    Compiling time v0.1.38
[INFO] [stderr]    Compiling unicase v2.0.0
[INFO] [stderr]    Compiling bytes v0.4.5
[INFO] [stderr]    Compiling nodrop v0.1.9
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling mio v0.6.10
[INFO] [stderr]    Compiling mime v0.3.3
[INFO] [stderr]    Compiling generic-array v0.8.3
[INFO] [stderr]    Compiling digest v0.6.2
[INFO] [stderr]    Compiling block-buffer v0.2.0
[INFO] [stderr]    Compiling sha2 v0.6.0
[INFO] [stderr]    Compiling serde_derive_internals v0.16.0
[INFO] [stderr]    Compiling tokio-io v0.1.3
[INFO] [stderr]    Compiling tokio-service v0.1.0
[INFO] [stderr]    Compiling futures-cpupool v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.15
[INFO] [stderr]    Compiling tokio-core v0.1.9
[INFO] [stderr]    Compiling tokio-proto v0.1.1
[INFO] [stderr]    Compiling hyper v0.11.2
[INFO] [stderr]    Compiling serde_json v1.0.3
[INFO] [stderr]    Compiling rust-coin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sha2::Sha256`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use sha2::Sha256;
[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: `digest::Input`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use digest::Input;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hyper::header::ContentLength`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hyper::header::ContentLength;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Http`
[INFO] [stdout]   --> src/main.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use hyper::server::{Http, Request, Response, Service};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `var::<&str>` in constants
[INFO] [stdout]   --> src/main.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HTTP_PORT: i32 = match env::var("HTTP_PORT") {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `var` is not const
[INFO] [stdout]   --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/env.rs:222:0
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `VarError` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Err(e) => 3001,
[INFO] [stdout]    |         ^        - value is dropped here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         the destructor for this type cannot be evaluated in constants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform non-const deref coercion on `std::string::String` in constants
[INFO] [stdout]   --> src/main.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `str`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/string.rs:2820:0
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `core::str::<impl str>::parse::<i32>` in constants
[INFO] [stdout]   --> src/main.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `Result::<i32, ParseIntError>::unwrap` in constants
[INFO] [stdout]   --> src/main.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `std::string::String` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |        ^^^                               - value is dropped here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        the destructor for this type cannot be evaluated in constants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `Result<std::string::String, VarError>` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HTTP_PORT: i32 = match env::var("HTTP_PORT") {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^ the destructor for this type cannot be evaluated in constants
[INFO] [stdout] ...
[INFO] [stdout] 25 | };
[INFO] [stdout]    | - value is dropped here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `var::<&str>` in constants
[INFO] [stdout]   --> src/main.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | const P2P_PORT: i32 = match env::var("P2P_PORT") {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: function `var` is not const
[INFO] [stdout]   --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/env.rs:222:0
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `VarError` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Err(e) => 6001,
[INFO] [stdout]    |         ^        - value is dropped here
[INFO] [stdout]    |         |
[INFO] [stdout]    |         the destructor for this type cannot be evaluated in constants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot perform non-const deref coercion on `std::string::String` in constants
[INFO] [stdout]   --> src/main.rs:28:16
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: attempting to deref into `str`
[INFO] [stdout] note: impl defined here, but it is not `const`
[INFO] [stdout]   --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/string.rs:2820:0
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `core::str::<impl str>::parse::<i32>` in constants
[INFO] [stdout]   --> src/main.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `Result::<i32, ParseIntError>::unwrap` in constants
[INFO] [stdout]   --> src/main.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `std::string::String` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Ok(val) => val.parse::<i32>().unwrap(),
[INFO] [stdout]    |        ^^^                               - value is dropped here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        the destructor for this type cannot be evaluated in constants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0493]: destructor of `Result<std::string::String, VarError>` cannot be evaluated at compile-time
[INFO] [stdout]   --> src/main.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | const P2P_PORT: i32 = match env::var("P2P_PORT") {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^ the destructor for this type cannot be evaluated in constants
[INFO] [stdout] ...
[INFO] [stdout] 30 | };
[INFO] [stdout]    | - value is dropped here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0010]: allocations are not allowed in statics
[INFO] [stdout]   --> src/main.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 | static mut block_chain: Vec<Block> = vec![get_genesis_block()];
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^ allocation not allowed in statics
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const function `get_genesis_block` in statics
[INFO] [stdout]    --> src/main.rs:40:43
[INFO] [stdout]     |
[INFO] [stdout]  40 | static mut block_chain: Vec<Block> = vec![get_genesis_block()];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: function `get_genesis_block` is not const
[INFO] [stdout]    --> src/main.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn get_genesis_block() -> Block {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]     = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `slice::<impl [Block]>::into_vec::<std::alloc::Global>` in statics
[INFO] [stdout]   --> src/main.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 | static mut block_chain: Vec<Block> = vec![get_genesis_block()];
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
[INFO] [stdout]    = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut sha256 = Digest::new();
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 95 |     sha256.input_str(seed);
[INFO] [stdout]    |     ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `sha256` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut sha256: /* Type */ = Digest::new();
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout]  40 | static mut block_chain: Vec<Block> = vec![get_genesis_block()];
[INFO] [stdout]     |                         ---------- expected due to this type
[INFO] [stdout] ...
[INFO] [stdout] 153 |         block_chain = new_blocks;
[INFO] [stdout]     |                       ^^^^^^^^^^ expected `Vec<Block>`, found `&[Block]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<Block>`
[INFO] [stdout]             found reference `&[Block]`
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 153 |         block_chain = new_blocks.to_vec();
[INFO] [stdout]     |                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:161:57
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn is_valid_chain(block_chain_to_validate: &[Block]) -> bool {
[INFO] [stdout]     |    --------------                                       ^^^^ expected `bool`, found `()`
[INFO] [stdout]     |    |
[INFO] [stdout]     |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block
[INFO] [stdout]   --> src/main.rs:59:83
[INFO] [stdout]    |
[INFO] [stdout] 59 |             (&Method::Get, "/blocks") => response.set_body(serde_json::to_string(&block_chain).unwrap()),
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block
[INFO] [stdout]   --> src/main.rs:74:43
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn get_latest_block() -> &'static Block { block_chain.last().unwrap() }
[INFO] [stdout]    |                                           ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block
[INFO] [stdout]    --> src/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         block_chain.push(new_block)
[INFO] [stdout]     |         ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0010, E0015, E0133, E0282, E0308, E0493.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0010`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-coin` (bin "rust-coin") due to 23 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ecfb03620dafb8eaa87bfb646e63ca69aed9115ff55fbf98c0f50468dffcd0bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecfb03620dafb8eaa87bfb646e63ca69aed9115ff55fbf98c0f50468dffcd0bc", kill_on_drop: false }`
[INFO] [stdout] ecfb03620dafb8eaa87bfb646e63ca69aed9115ff55fbf98c0f50468dffcd0bc
