[INFO] cloning repository https://github.com/dotIndigo/bomanis-bank
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dotIndigo/bomanis-bank" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdotIndigo%2Fbomanis-bank", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdotIndigo%2Fbomanis-bank'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 42b80135e7e16532af7241deb47060f1e4f3f024
[INFO] testing dotIndigo/bomanis-bank against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdotIndigo%2Fbomanis-bank" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dotIndigo/bomanis-bank
[INFO] finished tweaking git repo https://github.com/dotIndigo/bomanis-bank
[INFO] tweaked toml for git repo https://github.com/dotIndigo/bomanis-bank written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dotIndigo/bomanis-bank 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/dotIndigo/bomanis-bank 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex-syntax v0.7.3
[INFO] [stderr]   Downloaded regex-automata v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 1d305ca01198c0e60dfb3b118e1a4a4524471ad8d3bf3ef5b62a05c2e39ba11b
[INFO] running `Command { std: "docker" "start" "-a" "1d305ca01198c0e60dfb3b118e1a4a4524471ad8d3bf3ef5b62a05c2e39ba11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1d305ca01198c0e60dfb3b118e1a4a4524471ad8d3bf3ef5b62a05c2e39ba11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d305ca01198c0e60dfb3b118e1a4a4524471ad8d3bf3ef5b62a05c2e39ba11b", kill_on_drop: false }`
[INFO] [stdout] 1d305ca01198c0e60dfb3b118e1a4a4524471ad8d3bf3ef5b62a05c2e39ba11b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 3deaa0ba0066ab9b8c96ea3953fdf8fd4607d9af3bc630dd3e9da6f8ad97ff56
[INFO] running `Command { std: "docker" "start" "-a" "3deaa0ba0066ab9b8c96ea3953fdf8fd4607d9af3bc630dd3e9da6f8ad97ff56", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling regex-syntax v0.7.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling chrono v0.4.26
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling regex-automata v0.3.2
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling bomanis_bank v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/bomanis_bank/account.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[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: `Ref`
[INFO] [stdout]  --> src/bomanis_bank/account.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::{RefCell, Ref};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `account::BankAccount`
[INFO] [stdout]  --> src/bomanis_bank/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use account::BankAccount;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/bomanis_bank/session.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bomanis_bank/database.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/bomanis_bank/database.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `password` is assigned to, but never used
[INFO] [stdout]   --> src/bomanis_bank/session.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut password: String  = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_password` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `user_id` is never read
[INFO] [stdout]   --> src/bomanis_bank/session.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut user_id: String = String::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `password` is never read
[INFO] [stdout]   --> src/bomanis_bank/session.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             password = get_user_input_as_str();
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bomanis_bank/session.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let mut money_account = ptr_money_account.borrow();
[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: variant `Length` is never constructed
[INFO] [stdout]   --> src/bomanis_bank/account.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum MoneyAccountType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Length,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoneyAccountType` has a derived impl for the trait `Clone`, 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 `linked_bank_account` is never read
[INFO] [stdout]   --> src/bomanis_bank/account.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MoneyAccount {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     pub linked_bank_account: Weak<RefCell<BankAccount>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_account_number`, `get_balance`, `set_balance`, and `get_bank_account` are never used
[INFO] [stdout]   --> src/bomanis_bank/account.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MoneyAccount {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_account_number(self: &Self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_balance(self: &Self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn set_balance(self: &mut Self, new_balance: i32) -> Result<i32, BalanceError> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_bank_account(self: &Self) -> Rc<RefCell<BankAccount>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exit` and `Length` are never constructed
[INFO] [stdout]   --> src/bomanis_bank/account.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub enum UserActions {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 78 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 79 |     Length,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dob` and `password` are never read
[INFO] [stdout]    --> src/bomanis_bank/account.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct BankAccount {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub dob: NaiveDate,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub password: String, //TODO make hash
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_associated_money_account` is never used
[INFO] [stdout]    --> src/bomanis_bank/account.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl BankAccount {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn get_associated_money_account(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `action_show_balance` and `action_withdraw_overdraft` are never used
[INFO] [stdout]    --> src/bomanis_bank/session.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn action_show_balance(self: &Self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn action_withdraw_overdraft(self: &Self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_bank_account_with_id_u32`, `get_bank_account_with_id_string`, `get_money_account_with_id_u32`, `get_money_account_with_id_string`, and `get_money_accounts_with_ids` are never used
[INFO] [stdout]   --> src/bomanis_bank/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl DatabaseHandler {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_bank_account_with_id_u32(self: &Self, id: BankAccountID) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_bank_account_with_id_string(self: &Self, id: String) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn get_money_account_with_id_u32(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_money_account_with_id_string(self: &Self, id: String) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_money_accounts_with_ids(self: &Self, ids: Vec<MoneyAccountID>) -> Vec<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LockedAccount` is never constructed
[INFO] [stdout]  --> src/bomanis_bank/errors.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum SessionError {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 2 |     FailedLogin,
[INFO] [stdout] 3 |     LockedAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]  --> src/bomanis_bank/errors.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl SessionError {
[INFO] [stdout]   | ----------------- method in this implementation
[INFO] [stdout] 8 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Locked` and `Unknown` are never constructed
[INFO] [stdout]   --> src/bomanis_bank/errors.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BalanceError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 18 |     NotEnough,
[INFO] [stdout] 19 |     Locked,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/bomanis_bank/errors.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl BalanceError {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 24 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     session.start();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let _ = session.start();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.08s
[INFO] running `Command { std: "docker" "inspect" "3deaa0ba0066ab9b8c96ea3953fdf8fd4607d9af3bc630dd3e9da6f8ad97ff56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3deaa0ba0066ab9b8c96ea3953fdf8fd4607d9af3bc630dd3e9da6f8ad97ff56", kill_on_drop: false }`
[INFO] [stdout] 3deaa0ba0066ab9b8c96ea3953fdf8fd4607d9af3bc630dd3e9da6f8ad97ff56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 66ed42b6d30cdead6acc93b30995a07ffcc0178d1089f4def830424f1a8de9e7
[INFO] running `Command { std: "docker" "start" "-a" "66ed42b6d30cdead6acc93b30995a07ffcc0178d1089f4def830424f1a8de9e7", kill_on_drop: false }`
[INFO] [stderr]    Compiling bomanis_bank v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/bomanis_bank/account.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Borrow;
[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: `Ref`
[INFO] [stdout]  --> src/bomanis_bank/account.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::{RefCell, Ref};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `account::BankAccount`
[INFO] [stdout]  --> src/bomanis_bank/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use account::BankAccount;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/bomanis_bank/session.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bomanis_bank/database.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/bomanis_bank/database.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `password` is assigned to, but never used
[INFO] [stdout]   --> src/bomanis_bank/session.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut password: String  = String::new();
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_password` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `user_id` is never read
[INFO] [stdout]   --> src/bomanis_bank/session.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut user_id: String = String::new();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `password` is never read
[INFO] [stdout]   --> src/bomanis_bank/session.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             password = get_user_input_as_str();
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bomanis_bank/session.rs:279:21
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let mut money_account = ptr_money_account.borrow();
[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: variant `Length` is never constructed
[INFO] [stdout]   --> src/bomanis_bank/account.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum MoneyAccountType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Length,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoneyAccountType` has a derived impl for the trait `Clone`, 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 `linked_bank_account` is never read
[INFO] [stdout]   --> src/bomanis_bank/account.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MoneyAccount {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     pub linked_bank_account: Weak<RefCell<BankAccount>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_account_number`, `get_balance`, `set_balance`, and `get_bank_account` are never used
[INFO] [stdout]   --> src/bomanis_bank/account.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MoneyAccount {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_account_number(self: &Self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_balance(self: &Self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn set_balance(self: &mut Self, new_balance: i32) -> Result<i32, BalanceError> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_bank_account(self: &Self) -> Rc<RefCell<BankAccount>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exit` and `Length` are never constructed
[INFO] [stdout]   --> src/bomanis_bank/account.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub enum UserActions {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 78 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 79 |     Length,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dob` and `password` are never read
[INFO] [stdout]    --> src/bomanis_bank/account.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct BankAccount {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub dob: NaiveDate,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub password: String, //TODO make hash
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_associated_money_account` is never used
[INFO] [stdout]    --> src/bomanis_bank/account.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl BankAccount {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn get_associated_money_account(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `action_show_balance` and `action_withdraw_overdraft` are never used
[INFO] [stdout]    --> src/bomanis_bank/session.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn action_show_balance(self: &Self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn action_withdraw_overdraft(self: &Self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_bank_account_with_id_u32`, `get_bank_account_with_id_string`, `get_money_account_with_id_u32`, `get_money_account_with_id_string`, and `get_money_accounts_with_ids` are never used
[INFO] [stdout]   --> src/bomanis_bank/database.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl DatabaseHandler {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_bank_account_with_id_u32(self: &Self, id: BankAccountID) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_bank_account_with_id_string(self: &Self, id: String) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn get_money_account_with_id_u32(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_money_account_with_id_string(self: &Self, id: String) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_money_accounts_with_ids(self: &Self, ids: Vec<MoneyAccountID>) -> Vec<Rc<RefCell<MoneyAccount>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LockedAccount` is never constructed
[INFO] [stdout]  --> src/bomanis_bank/errors.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum SessionError {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 2 |     FailedLogin,
[INFO] [stdout] 3 |     LockedAccount,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]  --> src/bomanis_bank/errors.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl SessionError {
[INFO] [stdout]   | ----------------- method in this implementation
[INFO] [stdout] 8 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Locked` and `Unknown` are never constructed
[INFO] [stdout]   --> src/bomanis_bank/errors.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum BalanceError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 18 |     NotEnough,
[INFO] [stdout] 19 |     Locked,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/bomanis_bank/errors.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl BalanceError {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 24 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     session.start();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let _ = session.start();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "66ed42b6d30cdead6acc93b30995a07ffcc0178d1089f4def830424f1a8de9e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66ed42b6d30cdead6acc93b30995a07ffcc0178d1089f4def830424f1a8de9e7", kill_on_drop: false }`
[INFO] [stdout] 66ed42b6d30cdead6acc93b30995a07ffcc0178d1089f4def830424f1a8de9e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] aee73836edc3f9c7df7069da0d68b2ee393473688d96428b4fcd8e953ce79c25
[INFO] running `Command { std: "docker" "start" "-a" "aee73836edc3f9c7df7069da0d68b2ee393473688d96428b4fcd8e953ce79c25", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::borrow::Borrow`
[INFO] [stderr]  --> src/bomanis_bank/account.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::borrow::Borrow;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ref`
[INFO] [stderr]  --> src/bomanis_bank/account.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cell::{RefCell, Ref};
[INFO] [stderr]   |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `account::BankAccount`
[INFO] [stderr]  --> src/bomanis_bank/mod.rs:2:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub use account::BankAccount;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ptr`
[INFO] [stderr]  --> src/bomanis_bank/session.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ptr;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/bomanis_bank/database.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> src/bomanis_bank/database.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `password` is assigned to, but never used
[INFO] [stderr]   --> src/bomanis_bank/session.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut password: String  = String::new();
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_password` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `user_id` is never read
[INFO] [stderr]   --> src/bomanis_bank/session.rs:33:35
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut user_id: String = String::new();
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `password` is never read
[INFO] [stderr]   --> src/bomanis_bank/session.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |             password = get_user_input_as_str();
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bomanis_bank/session.rs:279:21
[INFO] [stderr]     |
[INFO] [stderr] 279 |                 let mut money_account = ptr_money_account.borrow();
[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: variant `Length` is never constructed
[INFO] [stderr]   --> src/bomanis_bank/account.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum MoneyAccountType {
[INFO] [stderr]    |          ---------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 18 |     Length,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MoneyAccountType` has a derived impl for the trait `Clone`, 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 `linked_bank_account` is never read
[INFO] [stderr]   --> src/bomanis_bank/account.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct MoneyAccount {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 21 |     pub linked_bank_account: Weak<RefCell<BankAccount>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_account_number`, `get_balance`, `set_balance`, and `get_bank_account` are never used
[INFO] [stderr]   --> src/bomanis_bank/account.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl MoneyAccount {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn get_account_number(self: &Self) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn get_balance(self: &Self) -> i32 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub fn set_balance(self: &mut Self, new_balance: i32) -> Result<i32, BalanceError> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn get_bank_account(self: &Self) -> Rc<RefCell<BankAccount>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Exit` and `Length` are never constructed
[INFO] [stderr]   --> src/bomanis_bank/account.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub enum UserActions {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 78 |     Exit,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 79 |     Length,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dob` and `password` are never read
[INFO] [stderr]    --> src/bomanis_bank/account.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr]  97 | pub struct BankAccount {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub dob: NaiveDate,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub password: String, //TODO make hash
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_associated_money_account` is never used
[INFO] [stderr]    --> src/bomanis_bank/account.rs:120:12
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl BankAccount {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn get_associated_money_account(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `action_show_balance` and `action_withdraw_overdraft` are never used
[INFO] [stderr]    --> src/bomanis_bank/session.rs:260:8
[INFO] [stderr]     |
[INFO] [stderr]  22 | impl Session {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 260 |     fn action_show_balance(self: &Self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     fn action_withdraw_overdraft(self: &Self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_bank_account_with_id_u32`, `get_bank_account_with_id_string`, `get_money_account_with_id_u32`, `get_money_account_with_id_string`, and `get_money_accounts_with_ids` are never used
[INFO] [stderr]   --> src/bomanis_bank/database.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl DatabaseHandler {
[INFO] [stderr]    | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn get_bank_account_with_id_u32(self: &Self, id: BankAccountID) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn get_bank_account_with_id_string(self: &Self, id: String) -> Result<Rc<RefCell<BankAccount>>, ()> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn get_money_account_with_id_u32(self: &Self, id: MoneyAccountID) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn get_money_account_with_id_string(self: &Self, id: String) -> Option<Rc<RefCell<MoneyAccount>>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn get_money_accounts_with_ids(self: &Self, ids: Vec<MoneyAccountID>) -> Vec<Rc<RefCell<MoneyAccount>>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LockedAccount` is never constructed
[INFO] [stderr]  --> src/bomanis_bank/errors.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum SessionError {
[INFO] [stderr]   |          ------------ variant in this enum
[INFO] [stderr] 2 |     FailedLogin,
[INFO] [stderr] 3 |     LockedAccount,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_str` is never used
[INFO] [stderr]  --> src/bomanis_bank/errors.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | impl SessionError {
[INFO] [stderr]   | ----------------- method in this implementation
[INFO] [stderr] 8 |     fn as_str(&self) -> &'static str {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Locked` and `Unknown` are never constructed
[INFO] [stderr]   --> src/bomanis_bank/errors.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum BalanceError {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 18 |     NotEnough,
[INFO] [stderr] 19 |     Locked,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 20 |     Unknown,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_str` is never used
[INFO] [stderr]   --> src/bomanis_bank/errors.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl BalanceError {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] 24 |     fn as_str(&self) -> &'static str {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     session.start();
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let _ = session.start();
[INFO] [stderr]   |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `bomanis_bank` (bin "bomanis_bank" test) generated 23 warnings (run `cargo fix --bin "bomanis_bank" -p bomanis_bank --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bomanis_bank-33429bafe4ca9856)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "aee73836edc3f9c7df7069da0d68b2ee393473688d96428b4fcd8e953ce79c25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aee73836edc3f9c7df7069da0d68b2ee393473688d96428b4fcd8e953ce79c25", kill_on_drop: false }`
[INFO] [stdout] aee73836edc3f9c7df7069da0d68b2ee393473688d96428b4fcd8e953ce79c25
