[INFO] cloning repository https://github.com/mshelbywork/banking-app
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mshelbywork/banking-app" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmshelbywork%2Fbanking-app", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmshelbywork%2Fbanking-app'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 50622dcce70a7bc4ed797195e16d3ab82372488d
[INFO] checking mshelbywork/banking-app against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmshelbywork%2Fbanking-app" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mshelbywork/banking-app
[INFO] finished tweaking git repo https://github.com/mshelbywork/banking-app
[INFO] tweaked toml for git repo https://github.com/mshelbywork/banking-app written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mshelbywork/banking-app on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mshelbywork/banking-app 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c
[INFO] running `Command { std: "docker" "start" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking bank-account v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found keyword `extern`
[INFO] [stdout]  --> src/main.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs
[INFO] [stdout]   |            ^ help: add `;` here
[INFO] [stdout] 9 | extern crate serde;
[INFO] [stdout]   | ------ unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `extern`
[INFO] [stdout]  --> src/main.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs
[INFO] [stdout]   |            ^ help: add `;` here
[INFO] [stdout] 9 | extern crate serde;
[INFO] [stdout]   | ------ unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `,` in pattern
[INFO] [stdout]   --> src/main.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for id, account in self.accounts.values() {
[INFO] [stdout]    |               ^
[INFO] [stdout]    |
[INFO] [stdout] help: try adding parentheses to match on a tuple
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (id, account) in self.accounts.values() {
[INFO] [stdout]    |             +           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `match` arm body without braces
[INFO] [stdout]   --> src/main.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |             None => println!("No account found with that ID ({}), Please try again", id);
[INFO] [stdout]    |                  -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this statement is not surrounded by a body
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  while parsing the `match` arm starting here
[INFO] [stdout]    |
[INFO] [stdout] help: replace `;` with `,` to end a `match` arm expression
[INFO] [stdout]    |
[INFO] [stdout] 56 -             None => println!("No account found with that ID ({}), Please try again", id);
[INFO] [stdout] 56 +             None => println!("No account found with that ID ({}), Please try again", id),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `match`
[INFO] [stdout]    --> src/main.rs:175:57
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let (user_attempt, password_attempt) = login_input()
[INFO] [stdout]     |                                                         ^ help: add `;` here
[INFO] [stdout] 176 |     
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |     ----- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found `main_menu`
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |     login ()
[INFO] [stdout]     |             ^ help: add `;` here
[INFO] [stdout] 319 |
[INFO] [stdout] 320 |     main_menu ()
[INFO] [stdout]     |     --------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `,` in pattern
[INFO] [stdout]   --> src/main.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for id, account in self.accounts.values() {
[INFO] [stdout]    |               ^
[INFO] [stdout]    |
[INFO] [stdout] help: try adding parentheses to match on a tuple
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (id, account) in self.accounts.values() {
[INFO] [stdout]    |             +           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `match` arm body without braces
[INFO] [stdout]   --> src/main.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |             None => println!("No account found with that ID ({}), Please try again", id);
[INFO] [stdout]    |                  -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this statement is not surrounded by a body
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  while parsing the `match` arm starting here
[INFO] [stdout]    |
[INFO] [stdout] help: replace `;` with `,` to end a `match` arm expression
[INFO] [stdout]    |
[INFO] [stdout] 56 -             None => println!("No account found with that ID ({}), Please try again", id);
[INFO] [stdout] 56 +             None => println!("No account found with that ID ({}), Please try again", id),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found keyword `match`
[INFO] [stdout]    --> src/main.rs:175:57
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let (user_attempt, password_attempt) = login_input()
[INFO] [stdout]     |                                                         ^ help: add `;` here
[INFO] [stdout] 176 |     
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |     ----- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `;`, found `main_menu`
[INFO] [stdout]    --> src/main.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |     login ()
[INFO] [stdout]     |             ^ help: add `;` here
[INFO] [stdout] 319 |
[INFO] [stdout] 320 |     main_menu ()
[INFO] [stdout]     |     --------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/main.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | extern crate serde;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: argument never used
[INFO] [stdout]    --> src/main.rs:130:93
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 println! ("User account{} {} found\nID: ", user.first_name, user.last_name, user.id); 
[INFO] [stdout]     |                           ------------------------------- formatting specifier missing      ^^^^^^^ argument never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serde`
[INFO] [stdout]  --> src/main.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | extern crate serde;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: argument never used
[INFO] [stdout]    --> src/main.rs:130:93
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 println! ("User account{} {} found\nID: ", user.first_name, user.last_name, user.id); 
[INFO] [stdout]     |                           ------------------------------- formatting specifier missing      ^^^^^^^ argument never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]    --> src/main.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Success(&User),
[INFO] [stdout]     |             ^ expected named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ enum LoginResult<'a> {
[INFO] [stdout] 147 ~     Success(&'a User),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]    --> src/main.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Success(&User),
[INFO] [stdout]     |             ^ expected named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ enum LoginResult<'a> {
[INFO] [stdout] 147 ~     Success(&'a User),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `result` in this scope
[INFO] [stdout]    --> src/main.rs:194:11
[INFO] [stdout]     |
[INFO] [stdout] 194 |     match result {
[INFO] [stdout]     |           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0532]: expected unit struct, unit variant or constant, found tuple variant `LoginResult::Success`
[INFO] [stdout]    --> src/main.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Success(&User),
[INFO] [stdout]     |     -------------- `LoginResult::Success` defined here
[INFO] [stdout] ...
[INFO] [stdout] 195 |         LoginResult::Success => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `LoginResult::Success(_)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `result` in this scope
[INFO] [stdout]    --> src/main.rs:194:11
[INFO] [stdout]     |
[INFO] [stdout] 194 |     match result {
[INFO] [stdout]     |           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0532]: expected unit struct, unit variant or constant, found tuple variant `LoginResult::Success`
[INFO] [stdout]    --> src/main.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     Success(&User),
[INFO] [stdout]     |     -------------- `LoginResult::Success` defined here
[INFO] [stdout] ...
[INFO] [stdout] 195 |         LoginResult::Success => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `LoginResult::Success(_)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/main.rs:30:48
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                                                ^^^^^^^^^--------- argument #2 of type `u32` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `u32`, found `Range<{integer}>`
[INFO] [stdout]    --> src/main.rs:30:58
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                                                          ^^^^^^^
[INFO] [stdout]     = note: expected type `u32`
[INFO] [stdout]              found struct `std::ops::Range<{integer}>`
[INFO] [stdout] help: the return type of this call is `std::ops::Range<{integer}>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:30:29
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this argument influences the return type of `gen_range`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]  30 -             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]  30 +             account_number: rand::thread_rng().gen_range(/* u32 */, /* u32 */),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/main.rs:30:48
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                                                ^^^^^^^^^--------- argument #2 of type `u32` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `u32`, found `Range<{integer}>`
[INFO] [stdout]    --> src/main.rs:30:58
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                                                          ^^^^^^^
[INFO] [stdout]     = note: expected type `u32`
[INFO] [stdout]              found struct `std::ops::Range<{integer}>`
[INFO] [stdout] help: the return type of this call is `std::ops::Range<{integer}>` due to the type of the argument passed
[INFO] [stdout]    --> src/main.rs:30:29
[INFO] [stdout]     |
[INFO] [stdout]  30 |             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this argument influences the return type of `gen_range`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout]  30 -             account_number: rand::thread_rng().gen_range(1..1000),
[INFO] [stdout]  30 +             account_number: rand::thread_rng().gen_range(/* u32 */, /* u32 */),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `SavingsAccount` in the current scope
[INFO] [stdout]   --> src/main.rs:36:70
[INFO] [stdout]    |
[INFO] [stdout] 36 |         self.accounts.insert(new_account.account_number, new_account.clone());
[INFO] [stdout]    |                                                                      ^^^^^ method not found in `SavingsAccount`
[INFO] [stdout] ...
[INFO] [stdout] 70 | struct SavingsAccount {
[INFO] [stdout]    | --------------------- method `clone` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `SavingsAccount` in the current scope
[INFO] [stdout]   --> src/main.rs:36:70
[INFO] [stdout]    |
[INFO] [stdout] 36 |         self.accounts.insert(new_account.account_number, new_account.clone());
[INFO] [stdout]    |                                                                      ^^^^^ method not found in `SavingsAccount`
[INFO] [stdout] ...
[INFO] [stdout] 70 | struct SavingsAccount {
[INFO] [stdout]    | --------------------- method `clone` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match self.accounts.get(id) {
[INFO] [stdout]    |                             --- ^^ expected `&u32`, found `u32`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/std/src/collections/hash/map.rs:1034:11
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match self.accounts.get(&id) {
[INFO] [stdout]    |                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:50:33
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match self.accounts.get(id) {
[INFO] [stdout]    |                             --- ^^ expected `&u32`, found `u32`
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/std/src/collections/hash/map.rs:1034:11
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 50 |         match self.accounts.get(&id) {
[INFO] [stdout]    |                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn view_account (&self, id: u32) -> SavingsAccount {
[INFO] [stdout]    |                                         -------------- expected `SavingsAccount` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 53 |                 account
[INFO] [stdout]    |                 ^^^^^^^ expected `SavingsAccount`, found `&SavingsAccount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn view_account (&self, id: u32) -> SavingsAccount {
[INFO] [stdout]    |                                         -------------- expected `SavingsAccount` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 53 |                 account
[INFO] [stdout]    |                 ^^^^^^^ expected `SavingsAccount`, found `&SavingsAccount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `lastname` on type `&User`
[INFO] [stdout]    --> src/main.rs:122:72
[INFO] [stdout]     |
[INFO] [stdout] 122 |             println!("Name: {} {}, User ID: {}", user.first_name, user.lastname, user.id );
[INFO] [stdout]     |                                                                        ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 122 |             println!("Name: {} {}, User ID: {}", user.first_name, user.last_name, user.id );
[INFO] [stdout]     |                                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `lastname` on type `&User`
[INFO] [stdout]    --> src/main.rs:122:72
[INFO] [stdout]     |
[INFO] [stdout] 122 |             println!("Name: {} {}, User ID: {}", user.first_name, user.lastname, user.id );
[INFO] [stdout]     |                                                                        ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: a field with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 122 |             println!("Name: {} {}, User ID: {}", user.first_name, user.last_name, user.id );
[INFO] [stdout]     |                                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn view_account (&self, username: String) -> User {
[INFO] [stdout]     |                                                  ---- expected `User` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 131 |                 user
[INFO] [stdout]     |                 ^^^^ expected `User`, found `&User`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |             None => println!("No user found with that username: {}. Please check spelling and try again", username),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `User`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn view_account (&self, username: String) -> User {
[INFO] [stdout]     |                                                  ---- expected `User` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 131 |                 user
[INFO] [stdout]     |                 ^^^^ expected `User`, found `&User`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |             None => println!("No user found with that username: {}. Please check spelling and try again", username),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `User`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |           ------------------------------- this expression has type `User`
[INFO] [stdout] 178 |         Some(user_account) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ expected `User`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `User`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |           ------------------------------- this expression has type `User`
[INFO] [stdout] 178 |         Some(user_account) => {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ expected `User`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `User`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |           ------------------------------- this expression has type `User`
[INFO] [stdout] ...
[INFO] [stdout] 185 |         None => LoginResult::UserNotFound
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         expected `User`, found `Option<_>`
[INFO] [stdout]     |         `None` is interpreted as a unit variant, not a new binding
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/option.rs:602:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: unit variant defined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `User`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] help: introduce a new binding instead
[INFO] [stdout]     |
[INFO] [stdout] 185 -         None => LoginResult::UserNotFound
[INFO] [stdout] 185 +         other_none => LoginResult::UserNotFound
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |     match bank.view_account(user_attempt) {
[INFO] [stdout]     |           ------------------------------- this expression has type `User`
[INFO] [stdout] ...
[INFO] [stdout] 185 |         None => LoginResult::UserNotFound
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         expected `User`, found `Option<_>`
[INFO] [stdout]     |         `None` is interpreted as a unit variant, not a new binding
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/option.rs:602:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: unit variant defined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `User`
[INFO] [stdout]                  found enum `Option<_>`
[INFO] [stdout] help: introduce a new binding instead
[INFO] [stdout]     |
[INFO] [stdout] 185 -         None => LoginResult::UserNotFound
[INFO] [stdout] 185 +         other_none => LoginResult::UserNotFound
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `std::ops::Range<{integer}>` with `std::ops::Range<{integer}>`
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^ ------- `std::ops::Range<{integer}>` doesn't satisfy the trait bound
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 no implementation for `std::ops::Range<{integer}> < std::ops::Range<{integer}>` and `std::ops::Range<{integer}> > std::ops::Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd` is not implemented for `std::ops::Range<{integer}>`
[INFO] [stdout] note: required by a bound in `gen_range`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:21
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub trait Rng {
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |                     ^^^^^^^^^^ required by this bound in `Rng::gen_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `std::ops::Range<{integer}>` with `std::ops::Range<{integer}>`
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^ ------- `std::ops::Range<{integer}>` doesn't satisfy the trait bound
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 no implementation for `std::ops::Range<{integer}> < std::ops::Range<{integer}>` and `std::ops::Range<{integer}> > std::ops::Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialOrd` is not implemented for `std::ops::Range<{integer}>`
[INFO] [stdout] note: required by a bound in `gen_range`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:21
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub trait Rng {
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |                     ^^^^^^^^^^ required by this bound in `Rng::gen_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::ops::Range<{integer}>: SampleRange` is not satisfied
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^ ------- `std::ops::Range<{integer}>` doesn't satisfy the trait bound
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the trait `SampleRange` is not implemented for `std::ops::Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `SampleRange`:
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i8
[INFO] [stdout]               isize
[INFO] [stdout]               u16
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `gen_range`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:34
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub trait Rng {
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ required by this bound in `Rng::gen_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::ops::Range<{integer}>: SampleRange` is not satisfied
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^ ------- `std::ops::Range<{integer}>` doesn't satisfy the trait bound
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the trait `SampleRange` is not implemented for `std::ops::Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `SampleRange`:
[INFO] [stdout]               f32
[INFO] [stdout]               f64
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i8
[INFO] [stdout]               isize
[INFO] [stdout]               u16
[INFO] [stdout]             and 4 others
[INFO] [stdout] note: required by a bound in `gen_range`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:34
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub trait Rng {
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ required by this bound in `Rng::gen_range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^--------- argument #2 of type `std::ops::Range<{integer}>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000, /* high */);
[INFO] [stdout]     |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/main.rs:223:33
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000);
[INFO] [stdout]     |                                 ^^^^^^^^^--------- argument #2 of type `std::ops::Range<{integer}>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.4.6/src/lib.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 |     fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where Self: Sized {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let id = rand::thread_rng().gen_range(1..1000, /* high */);
[INFO] [stdout]     |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         id,
[INFO] [stdout]     |         ^^ expected `u32`, found `Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `u32`
[INFO] [stdout]              found struct `std::ops::Range<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         id,
[INFO] [stdout]     |         ^^ expected `u32`, found `Range<{integer}>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `u32`
[INFO] [stdout]              found struct `std::ops::Range<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Menu` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/main.rs:284:38
[INFO] [stdout]     |
[INFO] [stdout] 284 |         println!("{}. {}", index +1, option)
[INFO] [stdout]     |                       --             ^^^^^^ `Menu` cannot be formatted with the default formatter
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `Menu`
[INFO] [stdout]    --> src/main.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum Menu {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: required for `&Menu` to implement `std::fmt::Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/main.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     main_menu ()
[INFO] [stdout]     |     ^^^^^^^^^--- argument #1 of type `User` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn main_menu (user_bank_account: User) {
[INFO] [stdout]     |    ^^^^^^^^^  -----------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 320 |     main_menu(/* User */)
[INFO] [stdout]     |              ~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Menu` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/main.rs:284:38
[INFO] [stdout]     |
[INFO] [stdout] 284 |         println!("{}. {}", index +1, option)
[INFO] [stdout]     |                       --             ^^^^^^ `Menu` cannot be formatted with the default formatter
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `Menu`
[INFO] [stdout]    --> src/main.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum Menu {
[INFO] [stdout]     | ^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: required for `&Menu` to implement `std::fmt::Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/main.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     main_menu ()
[INFO] [stdout]     |     ^^^^^^^^^--- argument #1 of type `User` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/main.rs:293:4
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn main_menu (user_bank_account: User) {
[INFO] [stdout]     |    ^^^^^^^^^  -----------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 320 |     main_menu(/* User */)
[INFO] [stdout]     |              ~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of partially moved value: `user`
[INFO] [stdout]    --> src/main.rs:115:42
[INFO] [stdout]     |
[INFO] [stdout] 115 |         self.users.insert(user.username, user);
[INFO] [stdout]     |                           -------------  ^^^^ value used here after partial move
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           value partially moved here
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because `user.username` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of partially moved value: `user`
[INFO] [stdout]    --> src/main.rs:115:42
[INFO] [stdout]     |
[INFO] [stdout] 115 |         self.users.insert(user.username, user);
[INFO] [stdout]     |                           -------------  ^^^^ value used here after partial move
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           value partially moved here
[INFO] [stdout]     |
[INFO] [stdout]     = note: partial move occurs because `user.username` has type `String`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_bank_account`
[INFO] [stdout]    --> src/main.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn main_menu (user_bank_account: User) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_bank_account`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_bank_account`
[INFO] [stdout]    --> src/main.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 | fn main_menu (user_bank_account: User) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_bank_account`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0106, E0277, E0308, E0382, E0425, E0463, E0532, E0599...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0106, E0277, E0308, E0382, E0425, E0463, E0532, E0599...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bank-account` (bin "bank-account") due to 26 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `bank-account` (bin "bank-account" test) due to 26 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c", kill_on_drop: false }`
[INFO] [stdout] 6287e462ae4d07abc290d43bcd4e28f40355279ab93c0df7241aa6987b70522c
