[INFO] cloning repository https://github.com/wgolling/WorkLedger
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wgolling/WorkLedger" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwgolling%2FWorkLedger", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwgolling%2FWorkLedger'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 791d9c6d43754e9e41214fbabb60efed8b296d45
[INFO] checking wgolling/WorkLedger against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwgolling%2FWorkLedger" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wgolling/WorkLedger on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wgolling/WorkLedger
[INFO] finished tweaking git repo https://github.com/wgolling/WorkLedger
[INFO] tweaked toml for git repo https://github.com/wgolling/WorkLedger written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/wgolling/WorkLedger 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libc v0.2.61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1cc398841880e6258339cfba3929e4d910a8009c5dc32e41960113478daedd4a
[INFO] running `Command { std: "docker" "start" "-a" "1cc398841880e6258339cfba3929e4d910a8009c5dc32e41960113478daedd4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cc398841880e6258339cfba3929e4d910a8009c5dc32e41960113478daedd4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cc398841880e6258339cfba3929e4d910a8009c5dc32e41960113478daedd4a", kill_on_drop: false }`
[INFO] [stdout] 1cc398841880e6258339cfba3929e4d910a8009c5dc32e41960113478daedd4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7746fc352f677e680c2ccd50f740bc54d27a95885565d87bbaa78ea4a89eabc
[INFO] running `Command { std: "docker" "start" "-a" "c7746fc352f677e680c2ccd50f740bc54d27a95885565d87bbaa78ea4a89eabc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.61
[INFO] [stderr]    Compiling autocfg v0.1.5
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling serde v1.0.98
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]     Checking regex-automata v0.1.8
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking csv-core v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.98
[INFO] [stderr]     Checking bstr v0.2.7
[INFO] [stderr]     Checking chrono v0.4.7
[INFO] [stderr]     Checking csv v1.1.1
[INFO] [stderr]     Checking record_keeper v0.1.0 (/opt/rustwide/workdir/record_keeper)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> record_keeper/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Datelike`, `Timelike`
[INFO] [stdout]  --> record_keeper/src/record.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Datelike, Timelike, Utc};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> record_keeper/src/record.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> record_keeper/src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> record_keeper/src/error.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> record_keeper/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Datelike`, `Timelike`
[INFO] [stdout]  --> record_keeper/src/record.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Datelike, Timelike, Utc};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> record_keeper/src/error.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> record_keeper/src/error.rs:52:32
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> record_keeper/src/lib.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 let mut v = self.task_names.get_mut(&name).unwrap();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> record_keeper/src/tests.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut rk = RecordKeeper::new();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validating_client_names_for_get` is never used
[INFO] [stdout]   --> record_keeper/src/tests.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn validating_client_names_for_get() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> record_keeper/src/lib.rs:171:21
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 let mut v = self.task_names.get_mut(&name).unwrap();
[INFO] [stdout]     |                     ----^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> record_keeper/src/lib.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Task {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] 23 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> record_keeper/src/lib.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Task {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn get_name(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> record_keeper/src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct Client {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 36 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> record_keeper/src/lib.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Client {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn get_name(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     client.add_task(test_name.clone());
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = client.add_task(test_name.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     client.add_validated_task(bad_data);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let _ = client.add_validated_task(bad_data);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     client.add_task(String::from("Test Task"));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let _ = client.add_task(String::from("Test Task"));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     client.add_task(String::from("Test Task 2"));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let _ = client.add_task(String::from("Test Task 2"));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             rk.add_validated_client(data);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let _ = rk.add_validated_client(data);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     rk.add_client(test_name.clone());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let _ = rk.add_client(test_name.clone());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> record_keeper/src/tests.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     rk.add_validated_client(bad_data);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let _ = rk.add_validated_client(bad_data);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     rk.get_tasks_for_validated_client(bad_data);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let _ = rk.get_tasks_for_validated_client(bad_data);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     rk.add_task_for_validated_client(bad_data, String::from("Test Task"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = rk.add_task_for_validated_client(bad_data, String::from("Test Task"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let _ = rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     rk.add_client(String::from("Test Client 2"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = rk.add_client(String::from("Test Client 2"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let _ = rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     rk.add_client(test_client.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let _ = rk.add_client(test_client.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     rk.add_client(String::from("Test Client 2"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let _ = rk.add_client(String::from("Test Client 2"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     rk.add_task(test_client.clone(), test_task.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let _ = rk.add_task(test_client.clone(), test_task.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     rk.add_task(String::from("Test Client 2"), test_task.clone());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let _ = rk.add_task(String::from("Test Client 2"), test_task.clone());
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     rk.add_task(test_client.clone(), String::from("Test Task 2"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 152 |     let _ = rk.add_task(test_client.clone(), String::from("Test Task 2"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let _ = rk.add_client(String::from("Test Client"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     rk.add_task(String::from("Test Client"), String::from("Test Task"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let _ = rk.add_task(String::from("Test Client"), String::from("Test Task"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> record_keeper/src/tests.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     rk.add_task(String::from("Test Client"), String::from("Test Task 2"));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let _ = rk.add_task(String::from("Test Client"), String::from("Test Task 2"));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cmd_interface v0.1.0 (/opt/rustwide/workdir/cmd_interface)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> cmd_interface/src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DuplicateError`, `NotFoundError`
[INFO] [stdout]  --> cmd_interface/src/app/models/user.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use record_keeper::{ErrorType, DuplicateError, NotFoundError};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::enums::*`
[INFO] [stdout]  --> cmd_interface/src/app/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::enums::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `record_keeper::ErrorType`
[INFO] [stdout]  --> cmd_interface/src/app/engine.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use record_keeper::ErrorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> cmd_interface/src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DuplicateError`, `NotFoundError`
[INFO] [stdout]  --> cmd_interface/src/app/models/user.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use record_keeper::{ErrorType, DuplicateError, NotFoundError};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::enums::*`
[INFO] [stdout]  --> cmd_interface/src/app/engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::enums::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `record_keeper::ErrorType`
[INFO] [stdout]  --> cmd_interface/src/app/engine.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use record_keeper::ErrorType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     view: Box<MenuView>,
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     view: Box<dyn MenuView>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |     parser: Box<Parser>,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     parser: Box<dyn Parser>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         view: Box<MenuView>, 
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |         view: Box<dyn MenuView>, 
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         parser: Box<Parser>,
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         parser: Box<dyn Parser>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:132:46
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn change_view(& mut self, view: Box<MenuView>) {
[INFO] [stdout]     |                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn change_view(& mut self, view: Box<dyn MenuView>) {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn change_parser(& mut self, parser: Box<Parser>) {
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn change_parser(& mut self, parser: Box<dyn Parser>) {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     view: Box<MenuView>,
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     view: Box<dyn MenuView>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |     parser: Box<Parser>,
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     parser: Box<dyn Parser>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         view: Box<MenuView>, 
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |         view: Box<dyn MenuView>, 
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> cmd_interface/src/app/controllers/app_controller.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |         parser: Box<Parser>,
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         parser: Box<dyn Parser>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:132:46
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn change_view(& mut self, view: Box<MenuView>) {
[INFO] [stdout]     |                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn change_view(& mut self, view: Box<dyn MenuView>) {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:135:50
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn change_parser(& mut self, parser: Box<Parser>) {
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn change_parser(& mut self, parser: Box<dyn Parser>) {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             _ => panic!("State not recognized"),      
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             _ => panic!("State not recognized"),      
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             Err(e) => panic!("TaskMenu was constructed with an invalid client."),
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut user = load_user();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:34:23
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             Err(e) => panic!("TaskMenu was constructed with an invalid client."),
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]   --> cmd_interface/src/app/views/menu.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn display(&self, model: &User) {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut user = load_user();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest_of_input`
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let (first_word, rest_of_input) = split_at_first_space(s);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rest_of_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:137:33
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn parse(&self, s: &String, model: &User) -> Command {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_client`, `get_client_names`, `get_owned_names`, `add_task`, and `get_owned_tasks_for_client` are never used
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 18  | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn add_client(& mut self, name: String) -> Result<(), ErrorType> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_client_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn get_owned_names(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn add_task(& mut self, client_name: String, task_name: String)
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_owned_tasks_for_client(&self, client_name: String) 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_client_names`, `get_owned_names`, and `get_owned_tasks_for_client` are never used
[INFO] [stdout]   --> cmd_interface/src/app/models/user.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl User {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_client_names(&self) -> Vec<&String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_owned_names(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_owned_tasks_for_client(&self, client_name: String) 
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `records` is never read
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct RecordMenuParser {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 128 |     records: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SplashPage` is never constructed
[INFO] [stdout]  --> cmd_interface/src/app/enums/engine_enums.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum State {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 2 |     SplashPage,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rest_of_input`
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:138:26
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let (first_word, rest_of_input) = split_at_first_space(s);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rest_of_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:137:33
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn parse(&self, s: &String, model: &User) -> Command {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_client`, `get_client_names`, `get_owned_names`, `add_task`, and `get_owned_tasks_for_client` are never used
[INFO] [stdout]    --> cmd_interface/src/app/controllers/app_controller.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 18  | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn add_client(& mut self, name: String) -> Result<(), ErrorType> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_client_names(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn get_owned_names(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn add_task(& mut self, client_name: String, task_name: String)
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_owned_tasks_for_client(&self, client_name: String) 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_client_names`, `get_owned_names`, and `get_owned_tasks_for_client` are never used
[INFO] [stdout]   --> cmd_interface/src/app/models/user.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl User {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_client_names(&self) -> Vec<&String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_owned_names(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_owned_tasks_for_client(&self, client_name: String) 
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `records` is never read
[INFO] [stdout]    --> cmd_interface/src/app/parser.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct RecordMenuParser {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 128 |     records: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SplashPage` is never constructed
[INFO] [stdout]  --> cmd_interface/src/app/enums/engine_enums.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum State {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 2 |     SplashPage,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     user.add_client("Client 1".to_string());
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let _ = user.add_client("Client 1".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     user.add_task("Client 1".to_string(), "Task 1".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let _ = user.add_task("Client 1".to_string(), "Task 1".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     user.add_task("Client 1".to_string(), "Task 2".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = user.add_task("Client 1".to_string(), "Task 2".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     user.add_client("Client 3".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = user.add_client("Client 3".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     user.add_client("Client 2".to_string());     
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = user.add_client("Client 2".to_string());     
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     user.add_client("Client 1".to_string());
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let _ = user.add_client("Client 1".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     user.add_task("Client 1".to_string(), "Task 1".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let _ = user.add_task("Client 1".to_string(), "Task 1".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     user.add_task("Client 1".to_string(), "Task 2".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = user.add_task("Client 1".to_string(), "Task 2".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     user.add_client("Client 3".to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let _ = user.add_client("Client 3".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> cmd_interface/src/app/engine.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     user.add_client("Client 2".to_string());     
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = user.add_client("Client 2".to_string());     
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 9.46s
[INFO] running `Command { std: "docker" "inspect" "c7746fc352f677e680c2ccd50f740bc54d27a95885565d87bbaa78ea4a89eabc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7746fc352f677e680c2ccd50f740bc54d27a95885565d87bbaa78ea4a89eabc", kill_on_drop: false }`
[INFO] [stdout] c7746fc352f677e680c2ccd50f740bc54d27a95885565d87bbaa78ea4a89eabc
