[INFO] cloning repository https://github.com/SAdams601/rust-maelstrom
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SAdams601/rust-maelstrom" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSAdams601%2Frust-maelstrom", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSAdams601%2Frust-maelstrom'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 78e961986b990d5ec373677c791f08ce1f8b8295
[INFO] checking SAdams601/rust-maelstrom against try#c05ee43175e02d208faed1fcc0f436c56e48bba6 for pr-92413
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSAdams601%2Frust-maelstrom" "/workspace/builds/worker-83/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-83/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/SAdams601/rust-maelstrom on toolchain c05ee43175e02d208faed1fcc0f436c56e48bba6
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+c05ee43175e02d208faed1fcc0f436c56e48bba6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/SAdams601/rust-maelstrom
[INFO] finished tweaking git repo https://github.com/SAdams601/rust-maelstrom
[INFO] tweaked toml for git repo https://github.com/SAdams601/rust-maelstrom written to /workspace/builds/worker-83/source/Cargo.toml
[INFO] crate git repo https://github.com/SAdams601/rust-maelstrom already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+c05ee43175e02d208faed1fcc0f436c56e48bba6" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-83/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-83/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+c05ee43175e02d208faed1fcc0f436c56e48bba6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c27d6dcbe9055321b84db340633685f76cb4fa8148c02485819a32134bf282fe
[INFO] running `Command { std: "docker" "start" "-a" "c27d6dcbe9055321b84db340633685f76cb4fa8148c02485819a32134bf282fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c27d6dcbe9055321b84db340633685f76cb4fa8148c02485819a32134bf282fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c27d6dcbe9055321b84db340633685f76cb4fa8148c02485819a32134bf282fe", kill_on_drop: false }`
[INFO] [stdout] c27d6dcbe9055321b84db340633685f76cb4fa8148c02485819a32134bf282fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-83/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-83/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" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+c05ee43175e02d208faed1fcc0f436c56e48bba6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 78bc4fb9c1d6fa5acdf444f56ba05e3caf7a98cd74307a3cfcb91142c97b6f5f
[INFO] running `Command { std: "docker" "start" "-a" "78bc4fb9c1d6fa5acdf444f56ba05e3caf7a98cd74307a3cfcb91142c97b6f5f", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.93
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking shared_lib v0.1.0 (/opt/rustwide/workdir/shared_lib)
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]  --> shared_lib/src/read_respond.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use json::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> shared_lib/src/read_respond.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Write, BufRead, stderr};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RecvTimeoutError`, `TryRecvError`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{sync_channel, TryRecvError, Receiver, RecvTimeoutError};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]  --> shared_lib/src/read_respond.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use json::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> shared_lib/src/read_respond.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Write, BufRead, stderr};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RecvTimeoutError`, `TryRecvError`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc::{sync_channel, TryRecvError, Receiver, RecvTimeoutError};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> shared_lib/src/rpc.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> shared_lib/src/rpc.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     while let rpc_response = send_rpc(state, request_body, "lin-kv").unwrap() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> shared_lib/src/rpc.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Err(err) => {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> shared_lib/src/rpc.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     while let rpc_response = send_rpc(state, request_body, "lin-kv").unwrap() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> shared_lib/src/rpc.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Err(err) => {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/read_respond.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 io::stderr().write(format!("Received {}\n", line).as_ref());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/read_respond.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 | ...                   sender.send(parsed);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/message_handler.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             curr_state.get_channel().send(stringify(response));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/message_handler.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             curr_state.get_channel().send(stringify(response));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     state.get_channel().send(stringify(request));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     state.get_channel().send(stringify(request.clone()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         state.get_channel().send(stringify(request));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     stdout.write_all(msg.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     stdout.write_all("\n".as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     stdout.flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     stderr().write(msg.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     stderr().write(b"\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     stderr().flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/read_respond.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 io::stderr().write(format!("Received {}\n", line).as_ref());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/read_respond.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 | ...                   sender.send(parsed);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/message_handler.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             curr_state.get_channel().send(stringify(response));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/message_handler.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             curr_state.get_channel().send(stringify(response));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     state.get_channel().send(stringify(request));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     state.get_channel().send(stringify(request.clone()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/rpc.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         state.get_channel().send(stringify(request));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     stdout.write_all(msg.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     stdout.write_all("\n".as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     stdout.flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     stderr().write(msg.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     stderr().write(b"\n");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> shared_lib/src/stdio.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     stderr().flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking maelstrom v0.1.0 (/opt/rustwide/workdir/maelstrom)
[INFO] [stderr]     Checking raft v0.1.0 (/opt/rustwide/workdir/raft)
[INFO] [stdout] warning: unused import: `JsonValue`
[INFO] [stdout]  --> maelstrom/src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use json::{self, JsonValue};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude::*`
[INFO] [stdout]   --> maelstrom/src/main.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{collections::HashMap, io::prelude::*, sync::mpsc::sync_channel};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `sync::mpsc::Receiver`
[INFO] [stdout]   --> maelstrom/src/main.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     io::{self},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 14 |     sync::mpsc::Receiver,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stderr`
[INFO] [stdout]   --> maelstrom/src/main.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{stderr, Write},
[INFO] [stdout]    |          ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message_utils::get_message_type`
[INFO] [stdout]   --> maelstrom/src/main.rs:20:72
[INFO] [stdout]    |
[INFO] [stdout] 20 | use shared_lib::{ stdio::while_reply, message_handler::MessageHandler, message_utils::get_message_type};
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mpsc::sync_channel`, `thread`, `time::Duration`
[INFO] [stdout]  --> maelstrom/src/lin_kv_service.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{mpsc::sync_channel, Mutex},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     thread,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     time::Duration,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stringify`
[INFO] [stdout]  --> maelstrom/src/lin_kv_service.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use json::{JsonValue, object, stringify};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::node_state::NodeState`
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use shared_lib::node_state::NodeState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]  --> maelstrom/src/message_handlers/topology_handler.rs:2:74
[INFO] [stdout]   |
[INFO] [stdout] 2 | use shared_lib::{error::MaelstromError, message_handler::MessageHandler, node_state::NodeState};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]  --> maelstrom/src/message_handlers/txn_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> maelstrom/src/message_handlers/txn_handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `cell::RefCell`, `collections::HashMap`
[INFO] [stdout]  --> maelstrom/src/states/maelstrom_node_state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     cell::RefCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 6 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     sync::{mpsc::SyncSender, Mutex, RwLock},
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLockWriteGuard`
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stderr`
[INFO] [stdout]  --> maelstrom/src/states/serializable_map.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{stderr, Write},
[INFO] [stdout]   |          ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stringify`
[INFO] [stdout]  --> maelstrom/src/states/serializable_map.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use json::{stringify, JsonValue};
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{stderr, Write},
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use json::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]  --> raft/src/message_handlers/init_handler.rs:2:74
[INFO] [stdout]   |
[INFO] [stdout] 2 | use shared_lib::{error::MaelstromError, message_handler::MessageHandler, node_state::NodeState, message_utils::get_body};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/read_handler.rs:4:56
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, temporarily_unavailable};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/read_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/cas_handler.rs:4:56
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, temporarily_unavailable};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/cas_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `object`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use json::{ JsonValue, object };
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, temporarily_unavailable};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender`, `sync_channel`
[INFO] [stdout]  --> raft/src/message_handlers/request_vote_handler.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{SyncSender, sync_channel};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefiniteError`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, abort};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `election_loop`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::election_state::{ElectionState, election_loop};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::log::{Entry, parse_entries};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefiniteError`
[INFO] [stdout]  --> raft/src/message_handlers/proxy_to_leader.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use shared_lib::error::{DefiniteError, temporarily_unavailable, MaelstromError};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::election_state::State::LEADER`
[INFO] [stdout]  --> raft/src/message_handlers/proxy_to_leader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::election_state::State::LEADER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, RwLock, RwLockReadGuard};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{stderr, Write};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::election_state::ElectionState`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::election_state::ElectionState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> raft/src/raft_node_state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::stdio::write_log`
[INFO] [stdout]   --> raft/src/raft_node_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use shared_lib::stdio::write_log;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::Thread`
[INFO] [stdout]  --> raft/src/election_state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread::Thread;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LockResult`, `PoisonError`, `RwLockReadGuard`
[INFO] [stdout]  --> raft/src/election_state.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{RwLock, Arc, LockResult, RwLockReadGuard, PoisonError};
[INFO] [stdout]   |                              ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `random`, `thread_rng`
[INFO] [stdout]  --> raft/src/election_state.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng, thread_rng, random, RngCore};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> raft/src/election_state.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Deref};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]   --> raft/src/election_state.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shared_lib::{node_state::NodeState, rpc::{broadcast_rpc, send_rpc}};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> raft/src/election_state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> raft/src/election_state.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender`, `TryIter`, `channel`, `sync_channel`
[INFO] [stdout]   --> raft/src/election_state.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::mpsc::{sync_channel, SyncSender, TryIter, TryRecvError, Receiver, channel};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::error::MaelstromError`
[INFO] [stdout]   --> raft/src/election_state.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shared_lib::error::MaelstromError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `Write`, `stderr`, `stdout`
[INFO] [stdout]  --> raft/src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{stderr, stdout, BufRead, Write};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::SyncSender`
[INFO] [stdout]   --> raft/src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::SyncSender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]   --> raft/src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{io, thread};
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude::*`
[INFO] [stdout]   --> raft/src/main.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{collections::HashMap, io::prelude::*, sync::mpsc::sync_channel};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::message_utils::get_message_type`
[INFO] [stdout]   --> raft/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use shared_lib::message_utils::get_message_type;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]   --> raft/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use json::JsonValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> raft/src/main.rs:45:62
[INFO] [stdout]    |
[INFO] [stdout] 45 |     static ref ELECTION_STATE: Arc<ElectionState<'static>> = {election_state::start(&*NODE_STATE)};
[INFO] [stdout]    |                                                              ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 45 -     static ref ELECTION_STATE: Arc<ElectionState<'static>> = {election_state::start(&*NODE_STATE)};
[INFO] [stdout] 45 +     static ref ELECTION_STATE: Arc<ElectionState<'static>> = election_state::start(&*NODE_STATE);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime parameter `'a` never used
[INFO] [stdout]   --> raft/src/raft_node_state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init<'a>(response_channel: SyncSender<String>) -> RaftState {
[INFO] [stdout]    |                -^^- help: elide the unused lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(unused_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime parameter `'a` never used
[INFO] [stdout]   --> raft/src/log.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn init<'a>(node: String) -> Log {
[INFO] [stdout]    |                -^^- help: elide the unused lifetime
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]  --> raft/src/message_handlers/init_handler.rs:2:74
[INFO] [stdout]   |
[INFO] [stdout] 2 | use shared_lib::{error::MaelstromError, message_handler::MessageHandler, node_state::NodeState, message_utils::get_body};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/read_handler.rs:4:56
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, temporarily_unavailable};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/read_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/cas_handler.rs:4:56
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, temporarily_unavailable};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/cas_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `object`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use json::{ JsonValue, object };
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `temporarily_unavailable`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, temporarily_unavailable};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/write_handler.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender`, `sync_channel`
[INFO] [stdout]  --> raft/src/message_handlers/request_vote_handler.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::{SyncSender, sync_channel};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefiniteError`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shared_lib::error::{MaelstromError, DefiniteError, abort};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `election_loop`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::election_state::{ElectionState, election_loop};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_in_response_to`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | use shared_lib::message_utils::{get_body, get_in_response_to};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> raft/src/message_handlers/append_entries_handler.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::log::{Entry, parse_entries};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefiniteError`
[INFO] [stdout]  --> raft/src/message_handlers/proxy_to_leader.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use shared_lib::error::{DefiniteError, temporarily_unavailable, MaelstromError};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::election_state::State::LEADER`
[INFO] [stdout]  --> raft/src/message_handlers/proxy_to_leader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::election_state::State::LEADER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLockReadGuard`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Mutex, RwLock, RwLockReadGuard};
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{stderr, Write};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::election_state::ElectionState`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::election_state::ElectionState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> raft/src/raft_node_state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::stdio::write_log`
[INFO] [stdout]   --> raft/src/raft_node_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use shared_lib::stdio::write_log;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::Thread`
[INFO] [stdout]  --> raft/src/election_state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::thread::Thread;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LockResult`, `PoisonError`, `RwLockReadGuard`
[INFO] [stdout]  --> raft/src/election_state.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{RwLock, Arc, LockResult, RwLockReadGuard, PoisonError};
[INFO] [stdout]   |                              ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `random`, `thread_rng`
[INFO] [stdout]  --> raft/src/election_state.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng, thread_rng, random, RngCore};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> raft/src/election_state.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Deref};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]   --> raft/src/election_state.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shared_lib::{node_state::NodeState, rpc::{broadcast_rpc, send_rpc}};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> raft/src/election_state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> raft/src/election_state.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender`, `TryIter`, `channel`, `sync_channel`
[INFO] [stdout]   --> raft/src/election_state.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::mpsc::{sync_channel, SyncSender, TryIter, TryRecvError, Receiver, channel};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::error::MaelstromError`
[INFO] [stdout]   --> raft/src/election_state.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shared_lib::error::MaelstromError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `Write`, `stderr`, `stdout`
[INFO] [stdout]  --> raft/src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{stderr, stdout, BufRead, Write};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::SyncSender`
[INFO] [stdout]   --> raft/src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::mpsc::SyncSender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]   --> raft/src/main.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{io, thread};
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude::*`
[INFO] [stdout]   --> raft/src/main.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{collections::HashMap, io::prelude::*, sync::mpsc::sync_channel};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::message_utils::get_message_type`
[INFO] [stdout]   --> raft/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use shared_lib::message_utils::get_message_type;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]   --> raft/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use json::JsonValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> raft/src/main.rs:45:62
[INFO] [stdout]    |
[INFO] [stdout] 45 |     static ref ELECTION_STATE: Arc<ElectionState<'static>> = {election_state::start(&*NODE_STATE)};
[INFO] [stdout]    |                                                              ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 45 -     static ref ELECTION_STATE: Arc<ElectionState<'static>> = {election_state::start(&*NODE_STATE)};
[INFO] [stdout] 45 +     static ref ELECTION_STATE: Arc<ElectionState<'static>> = election_state::start(&*NODE_STATE);
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsonValue`
[INFO] [stdout]  --> maelstrom/src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use json::{self, JsonValue};
[INFO] [stdout]   |                  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::prelude::*`
[INFO] [stdout]   --> maelstrom/src/main.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::{collections::HashMap, io::prelude::*, sync::mpsc::sync_channel};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self`, `sync::mpsc::Receiver`
[INFO] [stdout]   --> maelstrom/src/main.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     io::{self},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 14 |     sync::mpsc::Receiver,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stderr`
[INFO] [stdout]   --> maelstrom/src/main.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{stderr, Write},
[INFO] [stdout]    |          ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message_utils::get_message_type`
[INFO] [stdout]   --> maelstrom/src/main.rs:20:72
[INFO] [stdout]    |
[INFO] [stdout] 20 | use shared_lib::{ stdio::while_reply, message_handler::MessageHandler, message_utils::get_message_type};
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mpsc::sync_channel`, `thread`, `time::Duration`
[INFO] [stdout]  --> maelstrom/src/lin_kv_service.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{mpsc::sync_channel, Mutex},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     thread,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     time::Duration,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stringify`
[INFO] [stdout]  --> maelstrom/src/lin_kv_service.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use json::{JsonValue, object, stringify};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shared_lib::node_state::NodeState`
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use shared_lib::node_state::NodeState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Borrow`
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node_state::NodeState`
[INFO] [stdout]  --> maelstrom/src/message_handlers/topology_handler.rs:2:74
[INFO] [stdout]   |
[INFO] [stdout] 2 | use shared_lib::{error::MaelstromError, message_handler::MessageHandler, node_state::NodeState};
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::BorrowMut`
[INFO] [stdout]  --> maelstrom/src/message_handlers/txn_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     borrow::BorrowMut,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::ThreadRng`
[INFO] [stdout]  --> maelstrom/src/message_handlers/txn_handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::ThreadRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex`, `cell::RefCell`, `collections::HashMap`
[INFO] [stdout]  --> maelstrom/src/states/maelstrom_node_state.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     cell::RefCell,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 6 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     sync::{mpsc::SyncSender, Mutex, RwLock},
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLockWriteGuard`
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::RwLockWriteGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime parameter `'a` never used
[INFO] [stdout]   --> raft/src/raft_node_state.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn init<'a>(response_channel: SyncSender<String>) -> RaftState {
[INFO] [stdout]    |                -^^- help: elide the unused lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(unused_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write`, `stderr`
[INFO] [stdout]  --> maelstrom/src/states/serializable_map.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 |     io::{stderr, Write},
[INFO] [stdout]   |          ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stringify`
[INFO] [stdout]  --> maelstrom/src/states/serializable_map.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use json::{stringify, JsonValue};
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stderr`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{stderr, Write},
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json::JsonValue`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use json::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime parameter `'a` never used
[INFO] [stdout]   --> raft/src/log.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn init<'a>(node: String) -> Log {
[INFO] [stdout]    |                -^^- help: elide the unused lifetime
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{stderr, Write},
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_json`
[INFO] [stdout]   --> maelstrom/src/counters/g_counter.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn to_json(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_json`
[INFO] [stdout]   --> maelstrom/src/counters/pn_counter.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn to_json(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init`
[INFO] [stdout]  --> maelstrom/src/states/id_gen.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init(node_id: String) -> IdGenerator {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `counters_state`
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn counters_state(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |               panic!(format!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 35 | |                 "Tried to get id generator but it has not been inialized. Id is: {}",
[INFO] [stdout] 36 | |                 self.node_id()
[INFO] [stdout] 37 | |             ));
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]    = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 34 ~             panic!(
[INFO] [stdout] 35 |                 "Tried to get id generator but it has not been inialized. Id is: {}",
[INFO] [stdout] 36 |                 self.node_id()
[INFO] [stdout] 37 ~             );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{stderr, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> maelstrom/src/states/thunk.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{stderr, Write},
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         thunk.save(self);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/read_handler.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/read_handler.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/cas_handler.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/cas_handler.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/write_handler.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/write_handler.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> raft/src/raft_node_state.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         log_loc.as_mut().map(|mut log| {
[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]   --> raft/src/raft_node_state.rs:75:49
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.log.write().unwrap().as_mut().map(|mut log| log.append(entries));
[INFO] [stdout]    |                                                 ----^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> raft/src/raft_node_state.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |         self.log.write().unwrap().as_mut().map(|mut log| log.truncate(len));
[INFO] [stdout]    |                                                 ----^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             stderr()
[INFO] [stdout] 61 | |                 .write_all(format!("Cas failed to update root at {}\n", original_id).as_bytes());
[INFO] [stdout]    | |_________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | /             stderr().write_all(
[INFO] [stdout] 72 | |                 format!(
[INFO] [stdout] 73 | |                     "Reading {}, from cache {:?}\n",
[INFO] [stdout] 74 | |                     thunk.id.clone(),
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |                     .as_bytes(),
[INFO] [stdout] 78 | |             );
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/message_handlers/txn_handler.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             arr.push(txn2);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> maelstrom/src/message_handlers/txn_handler.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             stderr().write_all(format!("Received unknown transaction {:?}\n", txn).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/states/kv_thunk.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             arr.push(*i);
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/states/serializable_map.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             jv.insert(&k.to_string(), thunk.id.clone());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> raft/src/raft_node_state.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::{stderr, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/read_handler.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_json`
[INFO] [stdout]   --> maelstrom/src/counters/g_counter.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn to_json(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/read_handler.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/cas_handler.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/cas_handler.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> raft/src/message_handlers/write_handler.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_state`
[INFO] [stdout]   --> raft/src/message_handlers/write_handler.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn make_response_body(&self, message: &JsonValue, curr_state: &RaftState) -> Result<JsonValue, MaelstromError> {
[INFO] [stdout]    |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_json`
[INFO] [stdout]   --> maelstrom/src/counters/pn_counter.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn to_json(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init`
[INFO] [stdout]  --> maelstrom/src/states/id_gen.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn init(node_id: String) -> IdGenerator {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `counters_state`
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn counters_state(&self) -> JsonValue {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> maelstrom/src/states/maelstrom_node_state.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |               panic!(format!(
[INFO] [stdout]    |  ____________________^
[INFO] [stdout] 35 | |                 "Tried to get id generator but it has not been inialized. Id is: {}",
[INFO] [stdout] 36 | |                 self.node_id()
[INFO] [stdout] 37 | |             ));
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout]    = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 34 ~             panic!(
[INFO] [stdout] 35 |                 "Tried to get id generator but it has not been inialized. Id is: {}",
[INFO] [stdout] 36 |                 self.node_id()
[INFO] [stdout] 37 ~             );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         thunk.save(self);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             stderr()
[INFO] [stdout] 61 | |                 .write_all(format!("Cas failed to update root at {}\n", original_id).as_bytes());
[INFO] [stdout]    | |_________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/lin_kv_service.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 | /             stderr().write_all(
[INFO] [stdout] 72 | |                 format!(
[INFO] [stdout] 73 | |                     "Reading {}, from cache {:?}\n",
[INFO] [stdout] 74 | |                     thunk.id.clone(),
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |                     .as_bytes(),
[INFO] [stdout] 78 | |             );
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/message_handlers/txn_handler.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             arr.push(txn2);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> maelstrom/src/message_handlers/txn_handler.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             stderr().write_all(format!("Received unknown transaction {:?}\n", txn).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/states/kv_thunk.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             arr.push(*i);
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> maelstrom/src/states/serializable_map.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             jv.insert(&k.to_string(), thunk.id.clone());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> raft/src/raft_node_state.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         log_loc.as_mut().map(|mut log| {
[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 is never read: `replication_time`
[INFO] [stdout]   --> raft/src/election_state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     replication_time: RwLock<Instant>,
[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]   --> raft/src/raft_node_state.rs:75:49
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.log.write().unwrap().as_mut().map(|mut log| log.append(entries));
[INFO] [stdout]    |                                                 ----^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> raft/src/raft_node_state.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |         self.log.write().unwrap().as_mut().map(|mut log| log.truncate(len));
[INFO] [stdout]    |                                                 ----^^^
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `node`
[INFO] [stdout]   --> raft/src/log.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     node: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> raft/src/election_state.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             stderr().write(error_message.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `replication_time`
[INFO] [stdout]   --> raft/src/election_state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     replication_time: RwLock<Instant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `raft` due to 3 previous errors; 52 warnings emitted
[INFO] [stdout] warning: field is never read: `node`
[INFO] [stdout]   --> raft/src/log.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     node: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         self.advance_term(curr_term + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             self.advance_term(remote_term);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Option::<T>::insert` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         self.leader.write().unwrap().insert(leader_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> raft/src/election_state.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |             stderr().write(error_message.as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         self.advance_term(curr_term + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             self.advance_term(remote_term);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Option::<T>::insert` that must be used
[INFO] [stdout]    --> raft/src/election_state.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         self.leader.write().unwrap().insert(leader_id);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you intended to set a value, consider assignment instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "78bc4fb9c1d6fa5acdf444f56ba05e3caf7a98cd74307a3cfcb91142c97b6f5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78bc4fb9c1d6fa5acdf444f56ba05e3caf7a98cd74307a3cfcb91142c97b6f5f", kill_on_drop: false }`
[INFO] [stdout] 78bc4fb9c1d6fa5acdf444f56ba05e3caf7a98cd74307a3cfcb91142c97b6f5f