[INFO] cloning repository https://github.com/shantiii/terribledb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shantiii/terribledb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshantiii%2Fterribledb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshantiii%2Fterribledb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fcd0478da03ddcdc04691c7db3c6e91407ac7416
[INFO] checking shantiii/terribledb against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshantiii%2Fterribledb" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shantiii/terribledb
[INFO] finished tweaking git repo https://github.com/shantiii/terribledb
[INFO] tweaked toml for git repo https://github.com/shantiii/terribledb written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shantiii/terribledb on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shantiii/terribledb 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" "+54cf65b8d066c082e536455049b95943cf30378f" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking shantiii/terribledb against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshantiii%2Fterribledb" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shantiii/terribledb
[INFO] finished tweaking git repo https://github.com/shantiii/terribledb
[INFO] tweaked toml for git repo https://github.com/shantiii/terribledb written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shantiii/terribledb on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shantiii/terribledb 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" "+54cf65b8d066c082e536455049b95943cf30378f" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 12d67bbcd6d0cb917402482fa50e68e715498abdeca3ea117838c84a742e2bd6
[INFO] running `Command { std: "docker" "start" "-a" "12d67bbcd6d0cb917402482fa50e68e715498abdeca3ea117838c84a742e2bd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12d67bbcd6d0cb917402482fa50e68e715498abdeca3ea117838c84a742e2bd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12d67bbcd6d0cb917402482fa50e68e715498abdeca3ea117838c84a742e2bd6", kill_on_drop: false }`
[INFO] [stdout] 12d67bbcd6d0cb917402482fa50e68e715498abdeca3ea117838c84a742e2bd6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 54fe661e0bc0be13f26d4ed6f940a005f535b0b80bf7f0f6f7ff2192272ea179
[INFO] running `Command { std: "docker" "start" "-a" "54fe661e0bc0be13f26d4ed6f940a005f535b0b80bf7f0f6f7ff2192272ea179", kill_on_drop: false }`
[INFO] [stderr]     Checking terribledb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn load(source: &mut Read) -> io::Result<TerribleConfig> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn load(source: &mut dyn Read) -> io::Result<TerribleConfig> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_v1(source: &mut Read) -> io::Result<TerribleConfig> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_v1(source: &mut dyn Read) -> io::Result<TerribleConfig> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:62:53
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn save(cfg: &TerribleConfig, destination: &mut Write) -> io::Result<()> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn save(cfg: &TerribleConfig, destination: &mut dyn Write) -> io::Result<()> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn load(source: &mut Read) -> io::Result<TerribleConfig> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn load(source: &mut dyn Read) -> io::Result<TerribleConfig> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_v1(source: &mut Read) -> io::Result<TerribleConfig> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn load_v1(source: &mut dyn Read) -> io::Result<TerribleConfig> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/config.rs:62:53
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn save(cfg: &TerribleConfig, destination: &mut Write) -> io::Result<()> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn save(cfg: &TerribleConfig, destination: &mut dyn Write) -> io::Result<()> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/server.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn handle_event(&mut self, event: RaftEvent) {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> src/server.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn handle_event(&mut self, event: RaftEvent) {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cfg` and `cluster` are never read
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct LoopState {
[INFO] [stdout]   |        --------- fields in this struct
[INFO] [stdout] 6 |     cfg: config::TerribleConfig,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     cluster: Vec<SocketAddrV4>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RaftTerm` is never used
[INFO] [stdout]   --> src/server.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type RaftTerm = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RaftMember` is never used
[INFO] [stdout]   --> src/server.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type RaftMember = SocketAddrV4;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftMessageKind` is never used
[INFO] [stdout]   --> src/server.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum RaftMessageKind {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaftMessage` is never constructed
[INFO] [stdout]   --> src/server.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct RaftMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftEvent` is never used
[INFO] [stdout]   --> src/server.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum RaftEvent {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftRole` is never used
[INFO] [stdout]   --> src/server.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum RaftRole {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaftState` is never constructed
[INFO] [stdout]   --> src/server.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct RaftState {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_event` is never used
[INFO] [stdout]   --> src/server.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl RaftState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 44 |     fn handle_event(&mut self, event: RaftEvent) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]  --> src/config.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TerribleConfig {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     version: u16,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new` is never used
[INFO] [stdout]   --> src/config.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const fn new() -> TerribleConfig {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StateOp` is never used
[INFO] [stdout]  --> src/journal.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait StateOp {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Journal` is never used
[INFO] [stdout]  --> src/journal.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Journal {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Clear` and `Recurring` are never constructed
[INFO] [stdout]   --> src/main.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     enum TimerSignal<T> {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 22 |         Stop,
[INFO] [stdout] 23 |         Clear,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         Recurring(Duration, T),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `at`, `recurring`, and `clear` are never used
[INFO] [stdout]   --> src/main.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 28 |     impl<T: 'static + Ord + Copy + Send> AsyncTimer<T> {
[INFO] [stdout]    |     -------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |         pub fn at(&mut self, data: T, at: Instant) {
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         pub fn recurring(&mut self, data: T, period: Duration) {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |         pub fn clear(&mut self) {
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cfg` and `cluster` are never read
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct LoopState {
[INFO] [stdout]   |        --------- fields in this struct
[INFO] [stdout] 6 |     cfg: config::TerribleConfig,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     cluster: Vec<SocketAddrV4>,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RaftTerm` is never used
[INFO] [stdout]   --> src/server.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type RaftTerm = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RaftMember` is never used
[INFO] [stdout]   --> src/server.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type RaftMember = SocketAddrV4;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftMessageKind` is never used
[INFO] [stdout]   --> src/server.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum RaftMessageKind {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaftMessage` is never constructed
[INFO] [stdout]   --> src/server.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct RaftMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftEvent` is never used
[INFO] [stdout]   --> src/server.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum RaftEvent {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RaftRole` is never used
[INFO] [stdout]   --> src/server.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum RaftRole {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RaftState` is never constructed
[INFO] [stdout]   --> src/server.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct RaftState {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_event` is never used
[INFO] [stdout]   --> src/server.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl RaftState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 44 |     fn handle_event(&mut self, event: RaftEvent) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]  --> src/config.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TerribleConfig {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     version: u16,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new` is never used
[INFO] [stdout]   --> src/config.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const fn new() -> TerribleConfig {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_entry` and `next_index` are never used
[INFO] [stdout]   --> src/journal.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait Journal {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn get_entry(&self, idx: Self::Index) -> Result<&Self::Op, ()>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 14 |     fn next_index(&self) -> Self::Index;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Clear` and `Recurring` are never constructed
[INFO] [stdout]   --> src/main.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     enum TimerSignal<T> {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 22 |         Stop,
[INFO] [stdout] 23 |         Clear,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         Recurring(Duration, T),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `at`, `recurring`, and `clear` are never used
[INFO] [stdout]   --> src/main.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 28 |     impl<T: 'static + Ord + Copy + Send> AsyncTimer<T> {
[INFO] [stdout]    |     -------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |         pub fn at(&mut self, data: T, at: Instant) {
[INFO] [stdout]    |                ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |         pub fn recurring(&mut self, data: T, period: Duration) {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |         pub fn clear(&mut self) {
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         server::main_loop(Some(saddr), Some(bluster), |input: &str| -> bool { input.trim() == "stahp" });
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         let _ = server::main_loop(Some(saddr), Some(bluster), |input: &str| -> bool { input.trim() == "stahp" });
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 join_handle.join();
[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] 182 |                 let _ = join_handle.join();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     receiver.recv();
[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] 193 |     let _ = receiver.recv();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             self.tx.send(TimerSignal::Once(at, 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] 43 |             let _ = self.tx.send(TimerSignal::Once(at, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.tx.send(TimerSignal::Once(at, 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] 48 |             let _ = self.tx.send(TimerSignal::Once(at, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.tx.send(TimerSignal::Recurring(period, 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] 52 |             let _ = self.tx.send(TimerSignal::Recurring(period, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             self.tx.send(TimerSignal::Clear);
[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] 56 |             let _ = self.tx.send(TimerSignal::Clear);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             self.tx.send(TimerSignal::Stop);
[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 _ = self.tx.send(TimerSignal::Stop);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 join_handle.join();
[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] 68 |                 let _ = join_handle.join();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         emit.send(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] 93 |                         let _ = emit.send(data);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   emit.send(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] 99 |                             let _ = emit.send(data);
[INFO] [stdout]    |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         server::main_loop(Some(saddr), Some(bluster), |input: &str| -> bool { input.trim() == "stahp" });
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 177 |                         let _ = server::main_loop(Some(saddr), Some(bluster), |input: &str| -> bool { input.trim() == "stahp" });
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 join_handle.join();
[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] 182 |                 let _ = join_handle.join();
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     receiver.recv();
[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] 193 |     let _ = receiver.recv();
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             self.tx.send(TimerSignal::Once(at, 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] 43 |             let _ = self.tx.send(TimerSignal::Once(at, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.tx.send(TimerSignal::Once(at, 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] 48 |             let _ = self.tx.send(TimerSignal::Once(at, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.tx.send(TimerSignal::Recurring(period, 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] 52 |             let _ = self.tx.send(TimerSignal::Recurring(period, data));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             self.tx.send(TimerSignal::Clear);
[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] 56 |             let _ = self.tx.send(TimerSignal::Clear);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             self.tx.send(TimerSignal::Stop);
[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 _ = self.tx.send(TimerSignal::Stop);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 join_handle.join();
[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] 68 |                 let _ = join_handle.join();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         emit.send(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] 93 |                         let _ = emit.send(data);
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   emit.send(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] 99 |                             let _ = emit.send(data);
[INFO] [stdout]    |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] running `Command { std: "docker" "inspect" "54fe661e0bc0be13f26d4ed6f940a005f535b0b80bf7f0f6f7ff2192272ea179", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54fe661e0bc0be13f26d4ed6f940a005f535b0b80bf7f0f6f7ff2192272ea179", kill_on_drop: false }`
[INFO] [stdout] 54fe661e0bc0be13f26d4ed6f940a005f535b0b80bf7f0f6f7ff2192272ea179
