[INFO] cloning repository https://github.com/BoeJaker/Rust_Blockchain
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BoeJaker/Rust_Blockchain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBoeJaker%2FRust_Blockchain", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBoeJaker%2FRust_Blockchain'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a6d70e7d96aa17602288a2f6d41e5225fb97acb6
[INFO] checking BoeJaker/Rust_Blockchain against try#438eb4c1a1c3841523d7f672601e8adbe04cff28 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBoeJaker%2FRust_Blockchain" "/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/BoeJaker/Rust_Blockchain
[INFO] finished tweaking git repo https://github.com/BoeJaker/Rust_Blockchain
[INFO] tweaked toml for git repo https://github.com/BoeJaker/Rust_Blockchain written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BoeJaker/Rust_Blockchain on toolchain 438eb4c1a1c3841523d7f672601e8adbe04cff28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BoeJaker/Rust_Blockchain 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" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9f8a3b90aaaadca80d38fc62ee0b22253b65111494a9c77da81b5a275587748
[INFO] running `Command { std: "docker" "start" "-a" "a9f8a3b90aaaadca80d38fc62ee0b22253b65111494a9c77da81b5a275587748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9f8a3b90aaaadca80d38fc62ee0b22253b65111494a9c77da81b5a275587748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9f8a3b90aaaadca80d38fc62ee0b22253b65111494a9c77da81b5a275587748", kill_on_drop: false }`
[INFO] [stdout] a9f8a3b90aaaadca80d38fc62ee0b22253b65111494a9c77da81b5a275587748
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+438eb4c1a1c3841523d7f672601e8adbe04cff28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 99995963d186f8cbf5616b2f8ef43899bce4ca86de6794c33dd13728646db3cd
[INFO] running `Command { std: "docker" "start" "-a" "99995963d186f8cbf5616b2f8ef43899bce4ca86de6794c33dd13728646db3cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]    Compiling serde_json v1.0.102
[INFO] [stderr]     Checking ryu v1.0.14
[INFO] [stderr]     Checking itoa v1.0.8
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking Rust_Blockchain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/main.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]  --> src/main.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/main.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/main.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/main.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]  --> src/main.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> src/main.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/main.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/main.rs:5:13
[INFO] [stdout]    |
[INFO] [stdout]  5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Serialize` in this scope
[INFO] [stdout]   --> src/main.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Serialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/main.rs:5:13
[INFO] [stdout]    |
[INFO] [stdout]  5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/main.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/main.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout]  5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Deserialize` in this scope
[INFO] [stdout]   --> src/main.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Deserialize` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> src/main.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout]  5 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/main.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ring::digest::{digest, 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`
[INFO] [stdout]  --> src/main.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ring::digest::{digest, SHA256};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Serialize` is not satisfied
[INFO] [stdout]     --> src/main.rs:31:61
[INFO] [stdout]      |
[INFO] [stdout]   31 |         let serialized_transactions = serde_json::to_string(&transactions).unwrap();
[INFO] [stdout]      |                                       --------------------- ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `Transaction`
[INFO] [stdout]     --> src/main.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | struct Transaction {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Vec<Transaction>` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.102/src/ser.rs:2196:17
[INFO] [stdout]      |
[INFO] [stdout] 2194 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2195 | where
[INFO] [stdout] 2196 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Transaction: Serialize` is not satisfied
[INFO] [stdout]     --> src/main.rs:31:61
[INFO] [stdout]      |
[INFO] [stdout]   31 |         let serialized_transactions = serde_json::to_string(&transactions).unwrap();
[INFO] [stdout]      |                                       --------------------- ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Serialize` is not implemented for `Transaction`
[INFO] [stdout]     --> src/main.rs:9:1
[INFO] [stdout]      |
[INFO] [stdout]    9 | struct Transaction {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: the following other types implement trait `Serialize`:
[INFO] [stdout]                &'a T
[INFO] [stdout]                &'a mut T
[INFO] [stdout]                ()
[INFO] [stdout]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[INFO] [stdout]                (T0, T1, T2, T3, T4, T5)
[INFO] [stdout]              and 129 others
[INFO] [stdout]      = note: required for `Vec<Transaction>` to implement `Serialize`
[INFO] [stdout] note: required by a bound in `serde_json::to_string`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.102/src/ser.rs:2196:17
[INFO] [stdout]      |
[INFO] [stdout] 2194 | pub fn to_string<T>(value: &T) -> Result<String>
[INFO] [stdout]      |        --------- required by a bound in this function
[INFO] [stdout] 2195 | where
[INFO] [stdout] 2196 |     T: ?Sized + Serialize,
[INFO] [stdout]      |                 ^^^^^^^^^ required by this bound in `to_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new` found for struct `ring::digest::Algorithm` in the current scope
[INFO] [stdout]   --> src/main.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut context = SHA256.new();
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/438eb4c1a1c3841523d7f672601e8adbe04cff28/library/core/src/cmp.rs:264:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `new` found for struct `ring::digest::Algorithm` in the current scope
[INFO] [stdout]   --> src/main.rs:45:34
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut context = SHA256.new();
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `ne` with a similar name, but with different arguments
[INFO] [stdout]   --> /rustc/438eb4c1a1c3841523d7f672601e8adbe04cff28/library/core/src/cmp.rs:264:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `calculate_hash` found for mutable reference `&mut Block` in the current scope
[INFO] [stdout]    --> src/main.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let hash = self.calculate_hash();
[INFO] [stdout]     |                        -----^^^^^^^^^^^^^^--
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this is an associated function, not a method
[INFO] [stdout]     |                        help: use associated function syntax instead: `Block::calculate_hash()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
[INFO] [stdout] note: the candidate is defined in an impl for the type `Block`
[INFO] [stdout]    --> src/main.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn calculate_hash(data: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `calculate_hash` found for mutable reference `&mut Block` in the current scope
[INFO] [stdout]    --> src/main.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let hash = self.calculate_hash();
[INFO] [stdout]     |                        -----^^^^^^^^^^^^^^--
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this is an associated function, not a method
[INFO] [stdout]     |                        help: use associated function syntax instead: `Block::calculate_hash()`
[INFO] [stdout]     |
[INFO] [stdout]     = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
[INFO] [stdout] note: the candidate is defined in an impl for the type `Block`
[INFO] [stdout]    --> src/main.rs:44:5
[INFO] [stdout]     |
[INFO] [stdout]  44 |     fn calculate_hash(data: &str) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sample` found for struct `ThreadRng` in the current scope
[INFO] [stdout]    --> src/main.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .map(|_| rng.sample(rand::distributions::Alphanumeric))
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rng.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn sample<T, D: Distribution<T>>(&mut self, distr: D) -> T {
[INFO] [stdout]     |        ------ the method is available for `ThreadRng` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Rng` which provides `sample` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rand::Rng;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `sample_iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .map(|_| rng.sample_iter(rand::distributions::Alphanumeric))
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sample` found for struct `ThreadRng` in the current scope
[INFO] [stdout]    --> src/main.rs:154:26
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .map(|_| rng.sample(rand::distributions::Alphanumeric))
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rng.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn sample<T, D: Distribution<T>>(&mut self, distr: D) -> T {
[INFO] [stdout]     |        ------ the method is available for `ThreadRng` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Rng` which provides `sample` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rand::Rng;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `sample_iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .map(|_| rng.sample_iter(rand::distributions::Alphanumeric))
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `wallet`
[INFO] [stdout]    --> src/main.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let wallet = Wallet::new(self.generate_address());
[INFO] [stdout]     |             ------ move occurs because `wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 145 |         self.wallets.insert(wallet.address.clone(), wallet);
[INFO] [stdout]     |                                                     ------ value moved here
[INFO] [stdout] 146 |         wallet.address.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: if `Wallet` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/main.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Wallet {
[INFO] [stdout]     | ^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 145 |         self.wallets.insert(wallet.address.clone(), wallet);
[INFO] [stdout]     |                                                     ------ you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `wallet`
[INFO] [stdout]    --> src/main.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let wallet = Wallet::new(self.generate_address());
[INFO] [stdout]     |             ------ move occurs because `wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 145 |         self.wallets.insert(wallet.address.clone(), wallet);
[INFO] [stdout]     |                                                     ------ value moved here
[INFO] [stdout] 146 |         wallet.address.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ value borrowed here after move
[INFO] [stdout]     |
[INFO] [stdout] note: if `Wallet` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/main.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct Wallet {
[INFO] [stdout]     | ^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 145 |         self.wallets.insert(wallet.address.clone(), wallet);
[INFO] [stdout]     |                                                     ------ you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0382, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0382, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `Rust_Blockchain` (bin "Rust_Blockchain" test) due to 9 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `Rust_Blockchain` (bin "Rust_Blockchain") due to 9 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "99995963d186f8cbf5616b2f8ef43899bce4ca86de6794c33dd13728646db3cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "99995963d186f8cbf5616b2f8ef43899bce4ca86de6794c33dd13728646db3cd", kill_on_drop: false }`
[INFO] [stdout] 99995963d186f8cbf5616b2f8ef43899bce4ca86de6794c33dd13728646db3cd
