[INFO] cloning repository https://github.com/abokhalill/chronon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/abokhalill/chronon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabokhalill%2Fchronon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabokhalill%2Fchronon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c9bee143647d87ca62eb4a674abc77644e7289aa
[INFO] testing abokhalill/chronon against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabokhalill%2Fchronon" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/abokhalill/chronon
[INFO] finished tweaking git repo https://github.com/abokhalill/chronon
[INFO] tweaked toml for git repo https://github.com/abokhalill/chronon written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/abokhalill/chronon on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/abokhalill/chronon 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded io-uring v0.6.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f4fa81ec7e0f9ffb06fe83c2493ed3bc394681f69477d6da959a5da531f41a4a
[INFO] running `Command { std: "docker" "start" "-a" "f4fa81ec7e0f9ffb06fe83c2493ed3bc394681f69477d6da959a5da531f41a4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f4fa81ec7e0f9ffb06fe83c2493ed3bc394681f69477d6da959a5da531f41a4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f4fa81ec7e0f9ffb06fe83c2493ed3bc394681f69477d6da959a5da531f41a4a", kill_on_drop: false }`
[INFO] [stdout] f4fa81ec7e0f9ffb06fe83c2493ed3bc394681f69477d6da959a5da531f41a4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a4f03db8e1e79cd45ed532e1ef1df2524a0de5a84bdff9f7d72285ca4fcdbb0
[INFO] running `Command { std: "docker" "start" "-a" "0a4f03db8e1e79cd45ed532e1ef1df2524a0de5a84bdff9f7d72285ca4fcdbb0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling cc v1.2.50
[INFO] [stderr]    Compiling crc32c v0.6.8
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `chrApplication` should have an upper camel case name
[INFO] [stdout]    --> src/kernel/traits.rs:470:11
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub trait chrApplication: Send + Sync + 'static {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrApplication`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BankApp`, `BankError`, `BankEvent`, `BankQueryResponse`, `BankQuery`, and `BankState`
[INFO] [stdout]  --> src/kernel/mod.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use bank::{BankApp, BankError, BankEvent, BankQuery, BankQueryResponse, BankState};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutorStatus`, `Executor`, `FatalError`, and `StepResult`
[INFO] [stdout]  --> src/kernel/mod.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use executor::{Executor, ExecutorStatus, FatalError, StepResult};
[INFO] [stdout]   |                    ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MockAcknowledgeSubmitter`, `MockEffectExecutor`, `SideEffectManagerConfig`, and `SideEffectManager`
[INFO] [stdout]   --> src/kernel/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     SideEffectManager, SideEffectManagerConfig, MockEffectExecutor, MockAcknowledgeSubmitter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SNAPSHOT_HEADER_SIZE`, `SNAPSHOT_MAGIC`, `SNAPSHOT_VERSION`, `SnapshotError`, and `SnapshotManifest`
[INFO] [stdout]   --> src/kernel/mod.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use snapshot::{SnapshotError, SnapshotManifest, SNAPSHOT_HEADER_SIZE, SNAPSHOT_MAGIC, SNAPSHOT_VERSION};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApplyContext`, `BlockTime`, `EffectId`, `EventFlags`, `EventHeader`, `Event`, `LogLevel`, `OutboxEntry`, `Outbox`, `ScopedEvent`, `ScopedState`, `SideEffectStatus`, `SideEffect`, `SnapshotStream`, `SystemEvent`, and `chrApplication`
[INFO] [stdout]   --> src/kernel/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ApplyContext, BlockTime, EffectId, Event, EventFlags, EventHeader, LogLevel, Outbox,
[INFO] [stdout]    |     ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 15 |     OutboxEntry, chrApplication, ScopedEvent, ScopedState, SideEffect, SideEffectStatus,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     SnapshotStream, SystemEvent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chrClient` should have an upper camel case name
[INFO] [stdout]    --> src/vsr/client.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct chrClient {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientRequest`, `ClientResponse`, `ClientResult`, `LogEntrySummary`, and `VsrMessage`
[INFO] [stdout]   --> src/vsr/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use message::{VsrMessage, LogEntrySummary, ClientRequest, ClientResponse, ClientResult};
[INFO] [stdout]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quorum::QuorumTracker`
[INFO] [stdout]   --> src/vsr/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use quorum::QuorumTracker;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DoViewChangeInfo`, `ELECTION_TIMEOUT`, `HEARTBEAT_INTERVAL`, `NodeRole`, and `VsrNode`
[INFO] [stdout]   --> src/vsr/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use node::{VsrNode, NodeRole, DoViewChangeInfo, HEARTBEAT_INTERVAL, ELECTION_TIMEOUT};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::MockNetwork`
[INFO] [stdout]   --> src/vsr/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use network::MockNetwork;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientSession`, `PendingRequest`, `SessionMap`, and `chrClient`
[INFO] [stdout]   --> src/vsr/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use client::{SessionMap, chrClient, ClientSession, PendingRequest};
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::format::GENESIS_HASH`
[INFO] [stdout]    --> src/chaos/runner.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         use crate::engine::format::GENESIS_HASH;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChaosConfig`, `ChaosEndpoint`, and `ChaosNetwork`
[INFO] [stdout]  --> src/chaos/mod.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use network::{ChaosNetwork, ChaosEndpoint, ChaosConfig};
[INFO] [stdout]   |                   ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FaultEvent`, `Fault`, `NemesisConfig`, and `Nemesis`
[INFO] [stdout]   --> src/chaos/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use nemesis::{Nemesis, NemesisConfig, Fault, FaultEvent};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CheckResult`, `CheckStats`, `Checker`, `HistoryEntry`, `History`, `OperationResult`, `Operation`, `SharedHistory`, `ViolationKind`, and `Violation`
[INFO] [stdout]   --> src/chaos/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     History, SharedHistory, HistoryEntry,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     Operation, OperationResult,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Checker, CheckResult, Violation, ViolationKind, CheckStats,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClusterManager`, `ConsistencyResult`, `NodeConfig`, `NodeHandle`, `NodeState`, and `spawn_node`
[INFO] [stdout]   --> src/chaos/mod.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use runner::{NodeHandle, NodeConfig, NodeState, ClusterManager, ConsistencyResult, spawn_node};
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iovec_count`
[INFO] [stdout]    --> src/engine/log.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let iovec_count = if padding_len > 0 { 4 } else { 3 };
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iovec_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]    --> src/chaos/runner.rs:391:46
[INFO] [stdout]     |
[INFO] [stdout] 391 |             VsrMessage::PrepareBatch { view, start_index, entries, commit_index, timestamp_ns } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `start_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_path`
[INFO] [stdout]    --> src/chaos/runner.rs:797:13
[INFO] [stdout]     |
[INFO] [stdout] 797 |         let log_path = config.log_path.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BatchId` is never used
[INFO] [stdout]   --> src/engine/durability.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub type BatchId = u64;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DurabilityRequest` is never used
[INFO] [stdout]   --> src/engine/durability.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DurabilityRequest {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DurabilityResult` is never used
[INFO] [stdout]   --> src/engine/durability.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum DurabilityResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DurabilityCompletion` is never constructed
[INFO] [stdout]   --> src/engine/durability.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DurabilityCompletion {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DurabilityHandle` is never constructed
[INFO] [stdout]   --> src/engine/durability.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DurabilityHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `submit_batch`, `submit_single`, `shutdown`, `is_running`, and `next_index` are never used
[INFO] [stdout]    --> src/engine/durability.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl DurabilityHandle {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn submit_batch(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn submit_single(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn shutdown(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn next_index(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DurabilityWorker` is never constructed
[INFO] [stdout]    --> src/engine/durability.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct DurabilityWorker {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/engine/durability.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl DurabilityWorker {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn create(log_path: &Path, view_id: u64) -> std::io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn spawn_with_writer(writer: LogWriter, initial_next_index: u64) -> std::io::Result<Self> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     fn worker_loop(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn process_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn handle(&self) -> DurabilityHandle {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn try_recv_completion(&self) -> Result<Option<DurabilityCompletion>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn recv_completion(&self) -> Result<DurabilityCompletion, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn drain_completions(&self) -> Vec<DurabilityCompletion> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn shutdown_and_join(mut self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn set_stalled(&self, stalled: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub fn is_stalled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_empty` is never used
[INFO] [stdout]    --> src/engine/format.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl LogMetadata {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 307 |     /// Create metadata for a new (non-truncated) log.
[INFO] [stdout] 308 |     pub fn new_empty() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MANIFEST_MAGIC` is never used
[INFO] [stdout]  --> src/engine/manifest.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const MANIFEST_MAGIC: [u8; 4] = [0x50, 0x4D, 0x41, 0x4E];
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MANIFEST_VERSION` is never used
[INFO] [stdout]   --> src/engine/manifest.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MANIFEST_VERSION: u32 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MANIFEST_SIZE` is never used
[INFO] [stdout]   --> src/engine/manifest.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const MANIFEST_SIZE: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NO_VOTE_NODE` is never used
[INFO] [stdout]   --> src/engine/manifest.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const NO_VOTE_NODE: u32 = u32::MAX;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DurableState` is never constructed
[INFO] [stdout]   --> src/engine/manifest.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct DurableState {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `to_bytes`, `from_bytes`, `check_view_fence`, and `check_vote_fence` are never used
[INFO] [stdout]    --> src/engine/manifest.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl DurableState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  57 |     /// Create a new empty durable state.
[INFO] [stdout]  58 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn to_bytes(&self) -> [u8; MANIFEST_SIZE] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn from_bytes(bytes: &[u8; MANIFEST_SIZE]) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn check_view_fence(&self, msg_view: u64) -> Result<(), ViewFenceError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn check_vote_fence(&self, view: u64, candidate: u32) -> Result<(), VoteFenceError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ViewFenceError` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:184:10
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub enum ViewFenceError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VoteFenceError` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub enum VoteFenceError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manifest` is never constructed
[INFO] [stdout]    --> src/engine/manifest.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Manifest {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/engine/manifest.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl Manifest {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn open(path: &Path) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn state(&self) -> &DurableState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn highest_view(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn check_view_fence(&self, msg_view: u64) -> Result<(), ViewFenceError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn check_vote_fence(&self, view: u64, candidate: u32) -> Result<(), VoteFenceError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn advance_view(&mut self, new_view: u64) -> io::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn record_vote(&mut self, view: u64, node_id: u32) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn update_log_position(&mut self, last_index: u64, last_view: u64) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn persist(&self) -> io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_manifest_against_log` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub fn validate_manifest_against_log(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecoveryWithManifest` is never constructed
[INFO] [stdout]    --> src/engine/manifest.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub struct RecoveryWithManifest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `open_for_recovery` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:460:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | impl Manifest {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn open_for_recovery(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `advance` is never used
[INFO] [stdout]    --> src/engine/reader.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl CommittedState {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn advance(&self, new_index: u64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_index` and `base_prev_hash` are never read
[INFO] [stdout]   --> src/engine/recovery.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     CleanEmpty {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 18 |         /// Base index for truncated logs (0 for non-truncated).
[INFO] [stdout] 19 |         base_index: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 20 |         /// Base prev_hash for truncated logs (GENESIS_HASH for non-truncated).
[INFO] [stdout] 21 |         base_prev_hash: [u8; 16],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_index` and `base_prev_hash` are never read
[INFO] [stdout]   --> src/engine/recovery.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Clean {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 30 |         base_index: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 31 |         /// Base prev_hash for truncated logs (GENESIS_HASH for non-truncated).
[INFO] [stdout] 32 |         base_prev_hash: [u8; 16],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_index` and `base_prev_hash` are never read
[INFO] [stdout]   --> src/engine/recovery.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Truncated {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 42 |         base_index: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |         /// Base prev_hash for truncated logs (GENESIS_HASH for non-truncated).
[INFO] [stdout] 44 |         base_prev_hash: [u8; 16],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BankState` is never constructed
[INFO] [stdout]   --> src/kernel/bank.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BankState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BankSnapshotData` is never constructed
[INFO] [stdout]   --> src/kernel/bank.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct BankSnapshotData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `balance`, `outbox`, and `outbox_mut` are never used
[INFO] [stdout]   --> src/kernel/bank.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl BankState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 28 |     /// Get balance for a user.
[INFO] [stdout] 29 |     pub fn balance(&self, user: &str) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn outbox(&self) -> &Outbox {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn outbox_mut(&mut self) -> &mut Outbox {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BankEvent` is never used
[INFO] [stdout]   --> src/kernel/bank.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum BankEvent {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BankError` is never used
[INFO] [stdout]   --> src/kernel/bank.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum BankError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BankQuery` is never used
[INFO] [stdout]    --> src/kernel/bank.rs:118:10
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub enum BankQuery {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BankQueryResponse` is never used
[INFO] [stdout]    --> src/kernel/bank.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum BankQueryResponse {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BankApp` is never constructed
[INFO] [stdout]    --> src/kernel/bank.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct BankApp;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/kernel/bank.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl BankApp {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 141 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SNAPSHOT_THRESHOLD` is never used
[INFO] [stdout]   --> src/kernel/executor/mod.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) const DEFAULT_SNAPSHOT_THRESHOLD: u64 = 1000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Executor` is never constructed
[INFO] [stdout]   --> src/kernel/executor/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Executor<A: chrApplication> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/kernel/executor/mod.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn new(reader: LogReader, app: A, start_index: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn with_snapshot_dir(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn with_state(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn state(&self) -> &A::State {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn next_index(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn status(&self) -> ExecutorStatus {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn is_halted(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn query(&self, request: A::QueryRequest) -> A::QueryResponse {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExecutorStatus` is never used
[INFO] [stdout]  --> src/kernel/executor/error.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum ExecutorStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StepResult` is never used
[INFO] [stdout]   --> src/kernel/executor/error.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum StepResult {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FatalError` is never used
[INFO] [stdout]   --> src/kernel/executor/error.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub enum FatalError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `recover`, `find_latest_valid_snapshot`, and `get_entry_prev_hash` are never used
[INFO] [stdout]    --> src/kernel/executor/recovery.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn recover(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub(super) fn find_latest_valid_snapshot(snapshot_dir: &Path) -> Result<Option<SnapshotManifest>, FatalError> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub(super) fn get_entry_prev_hash(reader: &mut LogReader, index: u64) -> Result<[u8; 16], FatalError> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/kernel/executor/snapshot_ops.rs:15:12
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub fn should_snapshot(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn last_applied_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn take_snapshot(&mut self) -> Result<u64, FatalError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn snapshot_dir(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn last_snapshot_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn set_snapshot_threshold(&mut self, threshold: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn truncate_log_to_snapshot(&mut self) -> Result<u64, FatalError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn cleanup_old_snapshots(&self, keep_index: u64) -> Result<(), FatalError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn compact(&mut self) -> Result<u64, FatalError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `step` and `derive_random_seed_from_prev_hash` are never used
[INFO] [stdout]    --> src/kernel/executor/step.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  26 |     pub fn step(&mut self) -> Result<StepResult, FatalError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(super) fn derive_random_seed_from_prev_hash(&self, prev_hash: &[u8; 16], index: u64) -> [u8; 32] {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EffectExecutor` is never used
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type EffectExecutor = Box<dyn Fn(&EffectId, &SideEffect) -> bool + Send + Sync>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AcknowledgeSubmitter` is never used
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type AcknowledgeSubmitter = Box<dyn Fn(EffectId) -> bool + Send + Sync>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SideEffectManagerConfig` is never constructed
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SideEffectManagerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InFlightTracker` is never constructed
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct InFlightTracker {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `complete`, `is_in_flight`, `timed_out`, and `clear_timed_out` are never used
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl InFlightTracker {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 47 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn start(&mut self, id: EffectId) -> bool {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn complete(&mut self, id: &EffectId) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_in_flight(&self, id: &EffectId) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn timed_out(&self, timeout: Duration) -> Vec<EffectId> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn clear_timed_out(&mut self, timeout: Duration) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SideEffectManager` is never constructed
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct SideEffectManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl SideEffectManager {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 128 |     /// Create a new SideEffectManager.
[INFO] [stdout] 129 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn advance_fence(&self, token: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn set_primary_with_token(&self, is_primary: bool, token: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn set_primary(&self, is_primary: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn is_primary(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn process_pending(&self, outbox: &Outbox) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn effects_executed(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn acks_submitted(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockEffectExecutor` is never constructed
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct MockEffectExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_executor`, `get_executed`, `set_should_succeed`, and `clear` are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MockEffectExecutor {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 310 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn as_executor(&self) -> EffectExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn get_executed(&self) -> Vec<(EffectId, SideEffect)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockAcknowledgeSubmitter` is never constructed
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct MockAcknowledgeSubmitter {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `as_submitter`, `get_submitted`, `set_should_succeed`, and `clear` are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl MockAcknowledgeSubmitter {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 358 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn as_submitter(&self) -> AcknowledgeSubmitter {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn get_submitted(&self) -> Vec<EffectId> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAPSHOT_MAGIC` is never used
[INFO] [stdout]   --> src/kernel/snapshot.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SNAPSHOT_MAGIC: [u8; 4] = [0x53, 0x4E, 0x41, 0x50];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAPSHOT_VERSION` is never used
[INFO] [stdout]   --> src/kernel/snapshot.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const SNAPSHOT_VERSION: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNAPSHOT_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/kernel/snapshot.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const SNAPSHOT_HEADER_SIZE: usize = 64;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnapshotManifest` is never constructed
[INFO] [stdout]   --> src/kernel/snapshot.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SnapshotManifest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SnapshotError` is never used
[INFO] [stdout]   --> src/kernel/snapshot.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum SnapshotError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serialize_header`, `save_to_file`, `load_from_file`, `filename_for_index`, and `index_from_filename` are never used
[INFO] [stdout]    --> src/kernel/snapshot.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl SnapshotManifest {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new snapshot manifest.
[INFO] [stdout] 122 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn serialize_header(&self) -> [u8; SNAPSHOT_HEADER_SIZE] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn save_to_file(&self, path: &Path) -> Result<(), SnapshotError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn load_from_file(path: &Path) -> Result<Self, SnapshotError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn filename_for_index(index: u64) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn index_from_filename(filename: &str) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockTime` is never constructed
[INFO] [stdout]   --> src/kernel/traits.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct BlockTime(pub u64);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_nanos`, `as_nanos`, `as_millis`, and `as_secs` are never used
[INFO] [stdout]   --> src/kernel/traits.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl BlockTime {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 16 |     /// Create a new block time from nanoseconds.
[INFO] [stdout] 17 |     pub fn from_nanos(nanos: u64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn as_nanos(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn as_millis(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn as_secs(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApplyContext` is never constructed
[INFO] [stdout]   --> src/kernel/traits.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct ApplyContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `block_time`, `random_seed`, `event_index`, and `view_id` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ApplyContext {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn block_time(&self) -> BlockTime {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn random_seed(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn event_index(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn view_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventFlags` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct EventFlags {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EventHeader` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct EventHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct Event {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedState` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct ScopedState<'step, S> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl<'step, S> ScopedState<'step, S> {
[INFO] [stdout]     | ------------------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn new(state: &'step S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn get(&self) -> &'step S {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedEvent` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct ScopedEvent<'step> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_event` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl<'step> ScopedEvent<'step> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 229 |     /// Create a scoped event from an owned event.
[INFO] [stdout] 230 |     pub fn from_event(event: &'step Event) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectId` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct EffectId(pub [u8; 16]);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_bytes`, and `as_bytes` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl EffectId {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn new(client_id: u64, sequence_number: u64, sub_index: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn from_bytes(bytes: [u8; 16]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn as_bytes(&self) -> &[u8; 16] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SideEffectStatus` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:287:10
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub enum SideEffectStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OutboxEntry` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub struct OutboxEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Outbox` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct Outbox {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/kernel/traits.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl Outbox {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 315 |     /// Create a new empty outbox.
[INFO] [stdout] 316 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn add_pending(&mut self, id: EffectId, effect: SideEffect, created_at_index: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn acknowledge(&mut self, id: &EffectId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn pending_effects(&self) -> Vec<(EffectId, &OutboxEntry)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn get(&self, id: &EffectId) -> Option<&OutboxEntry> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn contains(&self, id: &EffectId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn pending_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn compact(&mut self, before_index: u64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SystemEvent` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:390:10
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub enum SystemEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LogLevel` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:398:10
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub enum LogLevel {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SideEffect` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:410:10
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub enum SideEffect {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnapshotStream` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct SnapshotStream {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `chrApplication` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:470:11
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub trait chrApplication: Send + Sync + 'static {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreparedEntry` is never constructed
[INFO] [stdout]  --> src/vsr/message.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PreparedEntry {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VsrMessage` is never used
[INFO] [stdout]   --> src/vsr/message.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum VsrMessage {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CatchUpEntry` is never constructed
[INFO] [stdout]    --> src/vsr/message.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct CatchUpEntry {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogEntrySummary` is never constructed
[INFO] [stdout]    --> src/vsr/message.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub struct LogEntrySummary {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientRequest` is never constructed
[INFO] [stdout]    --> src/vsr/message.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ClientRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClientResult` is never used
[INFO] [stdout]    --> src/vsr/message.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub enum ClientResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientResponse` is never constructed
[INFO] [stdout]    --> src/vsr/message.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct ClientResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `serialize`, `deserialize`, and `index` are never used
[INFO] [stdout]    --> src/vsr/message.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl VsrMessage {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 220 |     /// Serialize message to bytes using bincode.
[INFO] [stdout] 221 |     pub fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn deserialize(bytes: &[u8]) -> Result<Self, bincode::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_CLUSTER_SIZE` is never used
[INFO] [stdout]  --> src/vsr/quorum.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const MAX_CLUSTER_SIZE: u32 = 64;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeBitset` is never constructed
[INFO] [stdout]   --> src/vsr/quorum.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct NodeBitset(u64);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, `count`, and `contains` are never used
[INFO] [stdout]   --> src/vsr/quorum.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl NodeBitset {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert(&mut self, node_id: u32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn count(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn contains(&self, node_id: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuorumTracker` is never constructed
[INFO] [stdout]   --> src/vsr/quorum.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct QuorumTracker {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/vsr/quorum.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl QuorumTracker {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn new(cluster_size: u32, node_id: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn record_local_write(&mut self, index: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn record_prepare_ok(&mut self, index: u64, node_id: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn has_quorum(&self, index: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn quorum_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn committable_index_from(&self, current_committed: Option<u64>) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn committable_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn gc(&mut self, committed_index: u64) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn vote_count(&self, index: u64) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn quorum_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_INFLIGHT_REQUESTS` is never used
[INFO] [stdout]   --> src/vsr/node.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const DEFAULT_MAX_INFLIGHT_REQUESTS: usize = 5000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_MAX_REPLICATION_GAP` is never used
[INFO] [stdout]   --> src/vsr/node.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const DEFAULT_MAX_REPLICATION_GAP: u64 = 10_000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_INTERVAL` is never used
[INFO] [stdout]   --> src/vsr/node.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const HEARTBEAT_INTERVAL: Duration = Duration::from_millis(100);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ELECTION_TIMEOUT` is never used
[INFO] [stdout]   --> src/vsr/node.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ELECTION_TIMEOUT: Duration = Duration::from_millis(1000);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/vsr/node.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const MAX_BATCH_SIZE: usize = 64 * 1024;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_BATCH_DELAY` is never used
[INFO] [stdout]   --> src/vsr/node.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MAX_BATCH_DELAY: Duration = Duration::from_millis(5);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueuedRequest` is never constructed
[INFO] [stdout]   --> src/vsr/node.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct QueuedRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RequestBatcher` is never constructed
[INFO] [stdout]   --> src/vsr/node.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct RequestBatcher {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/vsr/node.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl RequestBatcher {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  81 |     /// Create a new empty batcher.
[INFO] [stdout]  82 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn add(&mut self, payload: Vec<u8>, client_id: u64, sequence_number: u64) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn should_flush_timeout(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn has_pending(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn pending_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn take_batch(&mut self) -> (Vec<Vec<u8>>, Vec<(u64, u64)>) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn client_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeRole` is never used
[INFO] [stdout]    --> src/vsr/node.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub enum NodeRole {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoViewChangeInfo` is never constructed
[INFO] [stdout]    --> src/vsr/node.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct DoViewChangeInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VsrNode` is never constructed
[INFO] [stdout]    --> src/vsr/node.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct VsrNode<A: chrApplication> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingDurabilityBatch` is never constructed
[INFO] [stdout]    --> src/vsr/node.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | struct PendingDurabilityBatch {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingBackupDurability` is never constructed
[INFO] [stdout]    --> src/vsr/node.rs:363:8
[INFO] [stdout]     |
[INFO] [stdout] 363 | struct PendingBackupDurability {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/vsr/node.rs:382:12
[INFO] [stdout]      |
[INFO] [stdout]  374 | impl<A: chrApplication> VsrNode<A> {
[INFO] [stdout]      | ---------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  382 |     pub fn new_primary(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  445 |     pub fn new_backup(
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  503 |     pub fn durable_highest_view(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  512 |     pub fn check_view_fence(&self, msg_view: u64) -> Result<(), ViewFenceError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  517 |     pub fn set_max_inflight_requests(&mut self, max: usize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  522 |     pub fn set_max_replication_gap(&mut self, max: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  527 |     pub fn inflight_count(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  532 |     pub fn replication_gap(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  539 |     pub fn is_overloaded(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  545 |     pub fn rejected_count(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  562 |     pub fn enable_async_durability(&mut self, handle: DurabilityHandle) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  567 |     pub fn disable_async_durability(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  573 |     pub fn is_async_durability_enabled(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  578 |     pub fn pending_durability_count(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  591 |     pub fn process_durability_completions(&mut self, completions: &[DurabilityCompletion]) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  710 |     pub fn pending_backup_durability_count(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  725 |     pub fn submit(&mut self, payload: &[u8]) -> std::io::Result<u64> {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  769 |     pub fn submit_batch(&mut self, payloads: &[Vec<u8>]) -> Result<(u64, u64), String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  836 |     pub fn flush_batch(&mut self) -> Result<Vec<(u64, u64, u64)>, String> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  897 |     pub fn handle_client_request(&mut self, request: &ClientRequest) -> ClientResponse {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  975 |     pub fn check_committed_requests(&mut self) -> Vec<(u64, ClientResponse)> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1012 |     pub fn session_map(&self) -> &SessionMap {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1017 |     pub fn restore_session_map(&mut self, session_map: SessionMap) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1026 |     pub fn handle_prepare_ok(&mut self, index: u64, from_node: u32) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1087 |     pub fn handle_prepare(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1202 |     pub fn handle_prepare_batch(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1337 |     fn apply_committed_entries(&mut self, old_committed: Option<u64>, new_committed: u64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1368 |     pub fn handle_catch_up_request(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1442 |     pub fn handle_catch_up_response(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1515 |     fn drain_catch_up_buffer(&mut self, primary_node: u32) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1545 |     pub fn process_one(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1658 |     pub fn process_all(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1663 |     pub fn committed_index(&self) -> Option<u64> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1668 |     pub fn next_index(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1674 |     pub fn fdatasync_count(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1685 |     pub fn current_view(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |     pub fn is_primary(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1720 |     pub fn tick(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1777 |     fn send_heartbeat(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1794 |     fn start_view_change(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1827 |     pub fn is_view_change_in_progress(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1832 |     pub fn proposed_view(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1842 |     fn primary_for_view(&self, view: u64) -> u32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1853 |     fn handle_start_view_change(&mut self, new_view: u64, from_node: u32) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1907 |     fn on_view_change_quorum(&mut self, new_view: u64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1940 |     fn create_do_view_change_info(&mut self) -> DoViewChangeInfo {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1967 |     fn collect_log_suffix(&mut self, commit_index: u64, last_log_index: u64) -> Vec<LogEntrySummary> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2006 |     fn send_do_view_change(&mut self, new_view: u64, new_primary: u32) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2027 |     fn handle_do_view_change(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2070 |     fn check_do_view_change_quorum(&mut self, new_view: u64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2090 |     fn become_primary(&mut self, new_view: u64) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2168 |     fn collect_log_entries(&mut self, start: u64, end: u64) -> Vec<LogEntrySummary> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2211 |     fn handle_start_view(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetworkEndpoint` is never constructed
[INFO] [stdout]  --> src/vsr/network.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct NetworkEndpoint {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_to`, `broadcast`, `try_recv`, `recv`, and `recv_timeout` are never used
[INFO] [stdout]   --> src/vsr/network.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl NetworkEndpoint {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn send_to(&self, target_id: u32, msg: VsrMessage) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn broadcast(&self, msg: VsrMessage) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn try_recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn recv_timeout(&self, timeout: std::time::Duration) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockNetwork` is never constructed
[INFO] [stdout]   --> src/vsr/network.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct MockNetwork {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create_endpoint`, `disconnect`, `reconnect`, and `is_connected` are never used
[INFO] [stdout]    --> src/vsr/network.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl MockNetwork {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  89 |     /// Create a new mock network with the specified number of nodes.
[INFO] [stdout]  90 |     pub fn new(cluster_size: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn create_endpoint(&mut self, node_id: u32) -> Option<NetworkEndpoint> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn disconnect(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn reconnect(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_connected(&self, from: u32, to: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClientSession` is never constructed
[INFO] [stdout]   --> src/vsr/client.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ClientSession {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SessionMap` is never constructed
[INFO] [stdout]   --> src/vsr/client.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SessionMap {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `check_duplicate`, `record_response`, `last_sequence`, `clear`, and `client_count` are never used
[INFO] [stdout]   --> src/vsr/client.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SessionMap {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     /// Create a new empty session map.
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn check_duplicate(&self, client_id: u64, sequence_number: u64) -> Option<ClientResponse> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn record_response(&mut self, client_id: u64, response: ClientResponse) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn last_sequence(&self, client_id: u64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn client_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingRequest` is never constructed
[INFO] [stdout]   --> src/vsr/client.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct PendingRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `chrClient` is never constructed
[INFO] [stdout]    --> src/vsr/client.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct chrClient {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/vsr/client.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl chrClient {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 128 |     /// Create a new client.
[INFO] [stdout] 129 |     pub fn new(client_id: u64, cluster_nodes: Vec<u32>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn create_request(&mut self, payload: Vec<u8>) -> ClientRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn create_request_with_seq(&self, payload: Vec<u8>, sequence_number: u64) -> ClientRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn current_sequence(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn update_leader(&mut self, leader_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn last_known_leader(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn target_node(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn handle_redirect(&mut self, leader_hint: Option<u32>) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn max_retries(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn is_overload_error(response: &ClientResponse) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn overload_backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn handle_overload(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChaosConfig` is never constructed
[INFO] [stdout]   --> src/chaos/network.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ChaosConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChaosEndpoint` is never constructed
[INFO] [stdout]   --> src/chaos/network.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ChaosEndpoint {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_to`, `broadcast`, `try_recv`, `recv`, `recv_timeout`, and `is_killed` are never used
[INFO] [stdout]    --> src/chaos/network.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ChaosEndpoint {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  56 |     /// Send a message to a specific node.
[INFO] [stdout]  57 |     pub fn send_to(&self, target_id: u32, msg: VsrMessage) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn broadcast(&self, msg: VsrMessage) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn try_recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn recv_timeout(&self, timeout: Duration) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_killed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChaosNetwork` is never constructed
[INFO] [stdout]    --> src/chaos/network.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct ChaosNetwork {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/network.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl ChaosNetwork {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 158 |     /// Create a new chaos network with the specified number of nodes.
[INFO] [stdout] 159 |     pub fn new(cluster_size: u32, config: ChaosConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn chaos_processor_shared(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn create_endpoint(&self, node_id: u32) -> Option<ChaosEndpoint> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn disconnect(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn reconnect(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn kill_node(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn revive_node(&self, node_id: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn recreate_endpoint(&self, node_id: u32) -> Option<ChaosEndpoint> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn partition(&self, from: u32, to: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn heal_partition(&self, from: u32, to: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     pub fn heal_all(&self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_config(&self, new_config: ChaosConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_config(&self) -> ChaosConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub fn cluster_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn is_killed(&self, node_id: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn primary_for_view(&self, view: u64) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Fault` is never used
[INFO] [stdout]   --> src/chaos/nemesis.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Fault {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FaultEvent` is never constructed
[INFO] [stdout]   --> src/chaos/nemesis.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FaultEvent {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NemesisConfig` is never constructed
[INFO] [stdout]   --> src/chaos/nemesis.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct NemesisConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Nemesis` is never constructed
[INFO] [stdout]   --> src/chaos/nemesis.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Nemesis {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/nemesis.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Nemesis {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  86 |     /// Create a new Nemesis.
[INFO] [stdout]  87 |     pub fn new(network: Arc<ChaosNetwork>, config: NemesisConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_view(&self, view: u64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_view(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn start(&self) -> thread::JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn inject(&self, fault: Fault) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_history(&self) -> Vec<FaultEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn clear_history(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn choose_fault(weights: &[f64; 3], rng: &mut impl Rng) -> Fault {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn inject_fault_static(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Operation` is never used
[INFO] [stdout]  --> src/chaos/checker.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Operation {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperationResult` is never used
[INFO] [stdout]   --> src/chaos/checker.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum OperationResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryEntry` is never constructed
[INFO] [stdout]   --> src/chaos/checker.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct HistoryEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `History` is never constructed
[INFO] [stdout]   --> src/chaos/checker.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct History {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/checker.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl History {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  61 |     /// Create a new empty history.
[INFO] [stdout]  62 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn entries(&self) -> &[HistoryEntry] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn get(&self, client_id: u64, sequence_number: u64) -> Option<&HistoryEntry> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedHistory` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct SharedHistory {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/checker.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SharedHistory {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 127 |     /// Create a new shared history.
[INFO] [stdout] 128 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn snapshot(&self) -> History {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn clone_arc(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckResult` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct CheckResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Violation` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Violation {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ViolationKind` is never used
[INFO] [stdout]    --> src/chaos/checker.rs:215:10
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub enum ViolationKind {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckStats` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct CheckStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Checker` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct Checker {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `empty`, `verify`, and `verify_conservation` are never used
[INFO] [stdout]    --> src/chaos/checker.rs:255:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Checker {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 254 |     /// Create a new checker with initial balances.
[INFO] [stdout] 255 |     pub fn new(initial_balances: HashMap<String, u64>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn verify(&self, history: &History, final_balances: &HashMap<String, u64>) -> CheckResult {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn verify_conservation(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NodeCommand` is never used
[INFO] [stdout]   --> src/chaos/runner.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum NodeCommand {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeState` is never constructed
[INFO] [stdout]   --> src/chaos/runner.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct NodeState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeConfig` is never constructed
[INFO] [stdout]   --> src/chaos/runner.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct NodeConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeHandle` is never constructed
[INFO] [stdout]   --> src/chaos/runner.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct NodeHandle {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_request`, `get_state`, `stop`, `kill`, `is_killed`, and `committed_index` are never used
[INFO] [stdout]    --> src/chaos/runner.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl NodeHandle {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  62 |     /// Send a client request and wait for response.
[INFO] [stdout]  63 |     pub fn send_request(&self, request: ClientRequest) -> Option<ClientResponse> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_state(&self) -> Option<NodeState> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn stop(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn kill(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn is_killed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn committed_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeRunner` is never constructed
[INFO] [stdout]    --> src/chaos/runner.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct NodeRunner {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/runner.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl NodeRunner {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 145 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn recover(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn run(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn primary_for_view(&self, view: u64) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn handle_client_request(&mut self, request: &ClientRequest, resp_tx: Sender<ClientResponse>) -> ClientResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn submit(&mut self, payload: &[u8]) -> std::io::Result<u64> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     fn process_messages(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn handle_message(&mut self, from_node: u32, msg: VsrMessage) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn tick(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn start_view_change(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 491 |     fn handle_start_view_change(&mut self, new_view: u64, from_node: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn on_view_change_quorum(&mut self, new_view: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     fn create_do_view_change_info(&self) -> DoViewChangeInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn send_do_view_change(&mut self, new_view: u64, new_primary: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     fn handle_do_view_change(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn check_do_view_change_quorum(&mut self, new_view: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |     fn become_primary(&mut self, new_view: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 643 |     fn handle_start_view(&mut self, new_view: u64, _primary_id: u32, commit_index: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     fn check_committed_requests(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_node` is never used
[INFO] [stdout]    --> src/chaos/runner.rs:690:8
[INFO] [stdout]     |
[INFO] [stdout] 690 | pub fn spawn_node(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClusterManager` is never constructed
[INFO] [stdout]    --> src/chaos/runner.rs:727:12
[INFO] [stdout]     |
[INFO] [stdout] 727 | pub struct ClusterManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/runner.rs:736:12
[INFO] [stdout]     |
[INFO] [stdout] 734 | impl ClusterManager {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 735 |     /// Create a new cluster manager.
[INFO] [stdout] 736 |     pub fn new(nodes: Vec<NodeHandle>, network: Arc<super::network::ChaosNetwork>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     pub fn kill_node(&mut self, node_id: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 758 |     pub fn revive_node(&mut self, node_id: u32) -> std::io::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 822 |     pub fn wait_for_sync(&self, timeout: Duration) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 853 |     pub fn get_all_states(&self) -> Vec<NodeState> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub fn stop_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 869 |     pub fn verify_consistency(&self) -> ConsistencyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsistencyResult` is never constructed
[INFO] [stdout]    --> src/chaos/runner.rs:905:12
[INFO] [stdout]     |
[INFO] [stdout] 905 | pub struct ConsistencyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.50s
[INFO] running `Command { std: "docker" "inspect" "0a4f03db8e1e79cd45ed532e1ef1df2524a0de5a84bdff9f7d72285ca4fcdbb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a4f03db8e1e79cd45ed532e1ef1df2524a0de5a84bdff9f7d72285ca4fcdbb0", kill_on_drop: false }`
[INFO] [stdout] 0a4f03db8e1e79cd45ed532e1ef1df2524a0de5a84bdff9f7d72285ca4fcdbb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6bb6636f88f8c328299c157b648f50265882697aee7f1a360c4cc9f430cbfc3c
[INFO] running `Command { std: "docker" "start" "-a" "6bb6636f88f8c328299c157b648f50265882697aee7f1a360c4cc9f430cbfc3c", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling chr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::kernel::snapshot::SnapshotManifest`
[INFO] [stdout]    --> src/kernel/executor/tests.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 463 |     use crate::kernel::snapshot::SnapshotManifest;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::snapshot::SnapshotManifest`
[INFO] [stdout]    --> src/kernel/executor/tests.rs:821:9
[INFO] [stdout]     |
[INFO] [stdout] 821 |     use crate::kernel::snapshot::SnapshotManifest;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::traits::SideEffectStatus`
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |     use crate::kernel::traits::SideEffectStatus;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `chrApplication` should have an upper camel case name
[INFO] [stdout]    --> src/kernel/traits.rs:470:11
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub trait chrApplication: Send + Sync + 'static {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrApplication`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BankApp`, `BankError`, `BankEvent`, `BankQueryResponse`, `BankQuery`, and `BankState`
[INFO] [stdout]  --> src/kernel/mod.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use bank::{BankApp, BankError, BankEvent, BankQuery, BankQueryResponse, BankState};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutorStatus`, `Executor`, `FatalError`, and `StepResult`
[INFO] [stdout]  --> src/kernel/mod.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use executor::{Executor, ExecutorStatus, FatalError, StepResult};
[INFO] [stdout]   |                    ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MockAcknowledgeSubmitter`, `MockEffectExecutor`, `SideEffectManagerConfig`, and `SideEffectManager`
[INFO] [stdout]   --> src/kernel/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     SideEffectManager, SideEffectManagerConfig, MockEffectExecutor, MockAcknowledgeSubmitter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SNAPSHOT_HEADER_SIZE`, `SNAPSHOT_MAGIC`, `SNAPSHOT_VERSION`, `SnapshotError`, and `SnapshotManifest`
[INFO] [stdout]   --> src/kernel/mod.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use snapshot::{SnapshotError, SnapshotManifest, SNAPSHOT_HEADER_SIZE, SNAPSHOT_MAGIC, SNAPSHOT_VERSION};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApplyContext`, `BlockTime`, `EffectId`, `EventFlags`, `EventHeader`, `Event`, `LogLevel`, `OutboxEntry`, `Outbox`, `ScopedEvent`, `ScopedState`, `SideEffectStatus`, `SideEffect`, `SnapshotStream`, `SystemEvent`, and `chrApplication`
[INFO] [stdout]   --> src/kernel/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ApplyContext, BlockTime, EffectId, Event, EventFlags, EventHeader, LogLevel, Outbox,
[INFO] [stdout]    |     ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 15 |     OutboxEntry, chrApplication, ScopedEvent, ScopedState, SideEffect, SideEffectStatus,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     SnapshotStream, SystemEvent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chrClient` should have an upper camel case name
[INFO] [stdout]    --> src/vsr/client.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct chrClient {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ELECTION_TIMEOUT`
[INFO] [stdout]    --> src/vsr/tests.rs:516:43
[INFO] [stdout]     |
[INFO] [stdout] 516 |     use super::node::{HEARTBEAT_INTERVAL, ELECTION_TIMEOUT};
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionMap`
[INFO] [stdout]    --> src/vsr/tests.rs:760:36
[INFO] [stdout]     |
[INFO] [stdout] 760 |     use super::client::{chrClient, SessionMap};
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientRequest`
[INFO] [stdout]    --> src/vsr/tests.rs:761:26
[INFO] [stdout]     |
[INFO] [stdout] 761 |     use super::message::{ClientRequest, ClientResult};
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientRequest` and `ClientResult`
[INFO] [stdout]     --> src/vsr/tests.rs:1634:26
[INFO] [stdout]      |
[INFO] [stdout] 1634 |     use super::message::{ClientRequest, ClientResult, PreparedEntry, VsrMessage};
[INFO] [stdout]      |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientRequest`, `ClientResponse`, `ClientResult`, `LogEntrySummary`, and `VsrMessage`
[INFO] [stdout]   --> src/vsr/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use message::{VsrMessage, LogEntrySummary, ClientRequest, ClientResponse, ClientResult};
[INFO] [stdout]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `quorum::QuorumTracker`
[INFO] [stdout]   --> src/vsr/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use quorum::QuorumTracker;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DoViewChangeInfo`, `ELECTION_TIMEOUT`, `HEARTBEAT_INTERVAL`, `NodeRole`, and `VsrNode`
[INFO] [stdout]   --> src/vsr/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use node::{VsrNode, NodeRole, DoViewChangeInfo, HEARTBEAT_INTERVAL, ELECTION_TIMEOUT};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `network::MockNetwork`
[INFO] [stdout]   --> src/vsr/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use network::MockNetwork;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientSession`, `PendingRequest`, `SessionMap`, and `chrClient`
[INFO] [stdout]   --> src/vsr/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use client::{SessionMap, chrClient, ClientSession, PendingRequest};
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::format::GENESIS_HASH`
[INFO] [stdout]    --> src/chaos/runner.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         use crate::engine::format::GENESIS_HASH;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Checker`
[INFO] [stdout]   --> src/chaos/tests.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::chaos::checker::{Checker, Operation, OperationResult, SharedHistory};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fault`, `NemesisConfig`, and `Nemesis`
[INFO] [stdout]   --> src/chaos/tests.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::chaos::nemesis::{Fault, Nemesis, NemesisConfig};
[INFO] [stdout]    |                             ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BankApp`
[INFO] [stdout]   --> src/chaos/tests.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::kernel::bank::{BankApp, BankEvent};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VsrNode`
[INFO] [stdout]   --> src/chaos/tests.rs:23:34
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::vsr::node::{NodeRole, VsrNode, ELECTION_TIMEOUT};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChaosConfig`, `ChaosEndpoint`, and `ChaosNetwork`
[INFO] [stdout]  --> src/chaos/mod.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use network::{ChaosNetwork, ChaosEndpoint, ChaosConfig};
[INFO] [stdout]   |                   ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FaultEvent`, `Fault`, `NemesisConfig`, and `Nemesis`
[INFO] [stdout]   --> src/chaos/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use nemesis::{Nemesis, NemesisConfig, Fault, FaultEvent};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CheckResult`, `CheckStats`, `Checker`, `HistoryEntry`, `History`, `OperationResult`, `Operation`, `SharedHistory`, `ViolationKind`, and `Violation`
[INFO] [stdout]   --> src/chaos/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     History, SharedHistory, HistoryEntry,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     Operation, OperationResult,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     Checker, CheckResult, Violation, ViolationKind, CheckStats,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClusterManager`, `ConsistencyResult`, `NodeConfig`, `NodeHandle`, `NodeState`, and `spawn_node`
[INFO] [stdout]   --> src/chaos/mod.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use runner::{NodeHandle, NodeConfig, NodeState, ClusterManager, ConsistencyResult, spawn_node};
[INFO] [stdout]    |                  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iovec_count`
[INFO] [stdout]    --> src/engine/log.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let iovec_count = if padding_len > 0 { 4 } else { 3 };
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iovec_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_after_single`
[INFO] [stdout]     --> src/engine/log.rs:1103:13
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         let hash_after_single = writer.tail_hash();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_after_single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/executor/tests.rs:848:9
[INFO] [stdout]     |
[INFO] [stdout] 848 |     let mut reader = LogReader::open(log_path, committed_state.clone()).unwrap();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/vsr/tests.rs:1768:9
[INFO] [stdout]      |
[INFO] [stdout] 1768 |     let mut node_1: VsrNode<BankApp> = VsrNode::new_backup(
[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]     --> src/vsr/tests.rs:1863:9
[INFO] [stdout]      |
[INFO] [stdout] 1863 |     let mut node_1: VsrNode<BankApp> = VsrNode::new_backup(
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ep1`
[INFO] [stdout]    --> src/chaos/network.rs:473:13
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let ep1 = network.create_endpoint(1).unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ep1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_index`
[INFO] [stdout]    --> src/chaos/runner.rs:391:46
[INFO] [stdout]     |
[INFO] [stdout] 391 |             VsrMessage::PrepareBatch { view, start_index, entries, commit_index, timestamp_ns } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `start_index: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_path`
[INFO] [stdout]    --> src/chaos/runner.rs:797:13
[INFO] [stdout]     |
[INFO] [stdout] 797 |         let log_path = config.log_path.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_running` and `next_index` are never used
[INFO] [stdout]    --> src/engine/durability.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl DurabilityHandle {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn next_index(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `is_stalled`, and `is_running` are never used
[INFO] [stdout]    --> src/engine/durability.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl DurabilityWorker {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub fn is_stalled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 423 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_empty` is never used
[INFO] [stdout]    --> src/engine/format.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl LogMetadata {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 307 |     /// Create metadata for a new (non-truncated) log.
[INFO] [stdout] 308 |     pub fn new_empty() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_vote_fence` and `update_log_position` are never used
[INFO] [stdout]    --> src/engine/manifest.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl Manifest {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn check_vote_fence(&self, view: u64, candidate: u32) -> Result<(), VoteFenceError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn update_log_position(&mut self, last_index: u64, last_view: u64) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_manifest_against_log` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub fn validate_manifest_against_log(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecoveryWithManifest` is never constructed
[INFO] [stdout]    --> src/engine/manifest.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub struct RecoveryWithManifest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `open_for_recovery` is never used
[INFO] [stdout]    --> src/engine/manifest.rs:460:12
[INFO] [stdout]     |
[INFO] [stdout] 447 | impl Manifest {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn open_for_recovery(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `base_prev_hash` is never read
[INFO] [stdout]   --> src/engine/recovery.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     CleanEmpty {
[INFO] [stdout]    |     ---------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 21 |         base_prev_hash: [u8; 16],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_index` and `base_prev_hash` are never read
[INFO] [stdout]   --> src/engine/recovery.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Truncated {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] ...
[INFO] [stdout] 42 |         base_index: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |         /// Base prev_hash for truncated logs (GENESIS_HASH for non-truncated).
[INFO] [stdout] 44 |         base_prev_hash: [u8; 16],
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `outbox_mut` is never used
[INFO] [stdout]   --> src/kernel/bank.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl BankState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn outbox_mut(&mut self) -> &mut Outbox {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AllBalances` is never constructed
[INFO] [stdout]    --> src/kernel/bank.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub enum BankQuery {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 123 |     AllBalances,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BankQuery` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/kernel/bank.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |     AllBalances(HashMap<String, u64>),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BankQueryResponse` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     AllBalances(HashMap<String, u64>),
[INFO] [stdout] 133 +     AllBalances(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_state` is never used
[INFO] [stdout]    --> src/kernel/executor/mod.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn with_state(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `side_effects` is never read
[INFO] [stdout]   --> src/kernel/executor/error.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Applied {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 34 |         side_effects: Vec<SideEffect>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StepResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DeserializeError` and `NoValidSnapshot` are never constructed
[INFO] [stdout]   --> src/kernel/executor/error.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub enum FatalError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     DeserializeError {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     NoValidSnapshot,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FatalError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `snapshot_dir`, `truncate_log_to_snapshot`, `cleanup_old_snapshots`, and `compact` are never used
[INFO] [stdout]    --> src/kernel/executor/snapshot_ops.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout]   9 | impl<A: chrApplication> Executor<A> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn snapshot_dir(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn truncate_log_to_snapshot(&mut self) -> Result<u64, FatalError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn cleanup_old_snapshots(&self, keep_index: u64) -> Result<(), FatalError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn compact(&mut self) -> Result<u64, FatalError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `poll_interval` is never read
[INFO] [stdout]   --> src/kernel/side_effect_manager.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SideEffectManagerConfig {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] 18 |     /// How often to poll the outbox for pending effects.
[INFO] [stdout] 19 |     pub poll_interval: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SideEffectManagerConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `running` is never read
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct SideEffectManager {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     running: Arc<AtomicBool>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `effects_executed`, `acks_submitted`, `is_running`, and `stop` are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl SideEffectManager {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn effects_executed(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn acks_submitted(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_should_succeed` and `clear` are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl MockEffectExecutor {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_should_succeed` and `clear` are never used
[INFO] [stdout]    --> src/kernel/side_effect_manager.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl MockAcknowledgeSubmitter {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SerializeError` is never constructed
[INFO] [stdout]   --> src/kernel/snapshot.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum SnapshotError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 88 |     SerializeError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SnapshotError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_millis` is never used
[INFO] [stdout]   --> src/kernel/traits.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl BlockTime {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn as_millis(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_time`, `random_seed`, and `view_id` are never read
[INFO] [stdout]   --> src/kernel/traits.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct ApplyContext {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     block_time: BlockTime,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     random_seed: [u8; 32],
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     view_id: u64,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `block_time`, `random_seed`, and `view_id` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ApplyContext {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn block_time(&self) -> BlockTime {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn random_seed(&self) -> [u8; 32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn view_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `view_id`, `stream_id`, `schema_version`, and `flags` are never read
[INFO] [stdout]    --> src/kernel/traits.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct EventHeader {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 137 |     /// Monotonic log index (0, 1, 2, ...).
[INFO] [stdout] 138 |     pub index: u64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 139 |     /// Consensus view/term when this event was committed.
[INFO] [stdout] 140 |     pub view_id: u64,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 141 |     /// Routing hint for multi-tenancy.
[INFO] [stdout] 142 |     pub stream_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 143 |     /// Payload schema version for forward/backward compatibility.
[INFO] [stdout] 144 |     pub schema_version: u16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     /// Event type flags.
[INFO] [stdout] 146 |     pub flags: EventFlags,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventHeader` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `header` is never read
[INFO] [stdout]    --> src/kernel/traits.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct Event {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 152 |     /// Event header (from log entry).
[INFO] [stdout] 153 |     pub header: EventHeader,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedState` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct ScopedState<'step, S> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl<'step, S> ScopedState<'step, S> {
[INFO] [stdout]     | ------------------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn new(state: &'step S) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn get(&self) -> &'step S {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScopedEvent` is never constructed
[INFO] [stdout]    --> src/kernel/traits.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct ScopedEvent<'step> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_event` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl<'step> ScopedEvent<'step> {
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 229 |     /// Create a scoped event from an owned event.
[INFO] [stdout] 230 |     pub fn from_event(event: &'step Event) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `as_bytes` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:262:12
[INFO] [stdout]     |
[INFO] [stdout] 247 | impl EffectId {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn from_bytes(bytes: [u8; 16]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn as_bytes(&self) -> &[u8; 16] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `len`, `is_empty`, and `compact` are never used
[INFO] [stdout]    --> src/kernel/traits.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl Outbox {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn contains(&self, id: &EffectId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn compact(&mut self, before_index: u64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SystemEvent` is never used
[INFO] [stdout]    --> src/kernel/traits.rs:390:10
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub enum SystemEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `serialize`, `deserialize`, and `index` are never used
[INFO] [stdout]    --> src/vsr/message.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | impl VsrMessage {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 220 |     /// Serialize message to bytes using bincode.
[INFO] [stdout] 221 |     pub fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn deserialize(bytes: &[u8]) -> Result<Self, bincode::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/vsr/quorum.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl NodeBitset {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn contains(&self, node_id: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cluster_size` is never read
[INFO] [stdout]   --> src/vsr/quorum.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct QuorumTracker {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 56 |     /// Number of nodes in the cluster.
[INFO] [stdout] 57 |     cluster_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `quorum_index` and `vote_count` are never used
[INFO] [stdout]    --> src/vsr/quorum.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl QuorumTracker {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn quorum_index(&self) -> Option<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn vote_count(&self, index: u64) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_written_index` is never read
[INFO] [stdout]    --> src/vsr/node.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 363 | struct PendingBackupDurability {
[INFO] [stdout]     |        ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 371 |     last_written_index: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PendingBackupDurability` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/vsr/node.rs:503:12
[INFO] [stdout]      |
[INFO] [stdout]  374 | impl<A: chrApplication> VsrNode<A> {
[INFO] [stdout]      | ---------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  503 |     pub fn durable_highest_view(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  512 |     pub fn check_view_fence(&self, msg_view: u64) -> Result<(), ViewFenceError> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  522 |     pub fn set_max_replication_gap(&mut self, max: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  567 |     pub fn disable_async_durability(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  710 |     pub fn pending_backup_durability_count(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1668 |     pub fn next_index(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1674 |     pub fn fdatasync_count(&self) -> u64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1695 |     pub fn is_primary(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recv` is never used
[INFO] [stdout]   --> src/vsr/network.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl NetworkEndpoint {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cluster_size` is never read
[INFO] [stdout]   --> src/vsr/network.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct MockNetwork {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 77 |     /// Number of nodes in the network.
[INFO] [stdout] 78 |     cluster_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_connected` is never used
[INFO] [stdout]    --> src/vsr/network.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl MockNetwork {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn is_connected(&self, from: u32, to: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `last_sequence`, `clear`, and `client_count` are never used
[INFO] [stdout]   --> src/vsr/client.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl SessionMap {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn last_sequence(&self, client_id: u64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn client_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingRequest` is never constructed
[INFO] [stdout]   --> src/vsr/client.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct PendingRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_retries` and `base_timeout` are never read
[INFO] [stdout]    --> src/vsr/client.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct chrClient {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 122 |     max_retries: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 123 |     /// Base timeout for requests.
[INFO] [stdout] 124 |     base_timeout: Duration,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/vsr/client.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl chrClient {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn current_sequence(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn last_known_leader(&self) -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn max_retries(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn is_overload_error(response: &ClientResponse) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn overload_backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn handle_overload(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/chaos/network.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ChaosEndpoint {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     config: Arc<RwLock<ChaosConfig>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recv`, `recv_timeout`, and `is_killed` are never used
[INFO] [stdout]    --> src/chaos/network.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ChaosEndpoint {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn recv_timeout(&self, timeout: Duration) -> Option<(u32, VsrMessage)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn is_killed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_config` and `get_config` are never used
[INFO] [stdout]    --> src/chaos/network.rs:386:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl ChaosNetwork {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn set_config(&self, new_config: ChaosConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_config(&self) -> ChaosConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PartitionQuorum` and `Noop` are never constructed
[INFO] [stdout]   --> src/chaos/nemesis.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Fault {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     PartitionQuorum,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Noop,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fault` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp`, `target_node`, and `details` are never read
[INFO] [stdout]   --> src/chaos/nemesis.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FaultEvent {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 27 |     /// When the fault was injected.
[INFO] [stdout] 28 |     pub timestamp: Instant,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub target_node: Option<u32>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 33 |     /// Additional details.
[INFO] [stdout] 34 |     pub details: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FaultEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tick_interval`, `fault_probability`, `fault_weights`, `min_fault_interval`, `auto_heal`, and `auto_heal_delay` are never read
[INFO] [stdout]   --> src/chaos/nemesis.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct NemesisConfig {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 40 |     /// How often to consider injecting a fault.
[INFO] [stdout] 41 |     pub tick_interval: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 42 |     /// Probability of injecting a fault on each tick (0.0 - 1.0).
[INFO] [stdout] 43 |     pub fault_probability: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     /// Weights for each fault type (KillPrimary, PartitionQuorum, Heal).
[INFO] [stdout] 45 |     pub fault_weights: [f64; 3],
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 46 |     /// Minimum time between faults.
[INFO] [stdout] 47 |     pub min_fault_interval: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     /// Whether to automatically heal after some time.
[INFO] [stdout] 49 |     pub auto_heal: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 50 |     /// Time after which to auto-heal.
[INFO] [stdout] 51 |     pub auto_heal_delay: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NemesisConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `running`, `last_fault_time`, and `last_disruption_time` are never read
[INFO] [stdout]   --> src/chaos/nemesis.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct Nemesis {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     config: NemesisConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     running: Arc<AtomicBool>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     last_fault_time: Arc<std::sync::Mutex<Option<Instant>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     /// Last non-heal fault time (for auto-heal).
[INFO] [stdout] 82 |     last_disruption_time: Arc<std::sync::Mutex<Option<Instant>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chaos/nemesis.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Nemesis {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_view(&self, view: u64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_view(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn start(&self) -> thread::JoinHandle<()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn clear_history(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn choose_fault(weights: &[f64; 3], rng: &mut impl Rng) -> Fault {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp` and `log_index` are never read
[INFO] [stdout]   --> src/chaos/checker.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct HistoryEntry {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 37 |     /// When the operation was initiated.
[INFO] [stdout] 38 |     pub timestamp: Instant,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub log_index: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistoryEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `clear` are never used
[INFO] [stdout]    --> src/chaos/checker.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  60 | impl History {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `clear` are never used
[INFO] [stdout]    --> src/chaos/checker.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SharedHistory {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `description` and `related_entries` are never read
[INFO] [stdout]    --> src/chaos/checker.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Violation {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub description: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 209 |     /// Related history entries (by index).
[INFO] [stdout] 210 |     pub related_entries: Vec<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Violation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OrderingViolation` is never constructed
[INFO] [stdout]    --> src/chaos/checker.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub enum ViolationKind {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 223 |     OrderingViolation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ViolationKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `verify_conservation` are never used
[INFO] [stdout]    --> src/chaos/checker.rs:255:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Checker {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 254 |     /// Create a new checker with initial balances.
[INFO] [stdout] 255 |     pub fn new(initial_balances: HashMap<String, u64>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn verify_conservation(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `next_index` and `session_map` are never read
[INFO] [stdout]   --> src/chaos/runner.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct NodeState {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub next_index: u64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub session_map: SessionMap,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_request` is never used
[INFO] [stdout]   --> src/chaos/runner.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl NodeHandle {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 62 |     /// Send a client request and wait for response.
[INFO] [stdout] 63 |     pub fn send_request(&self, request: ClientRequest) -> Option<ClientResponse> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `endpoints` is never read
[INFO] [stdout]    --> src/chaos/runner.rs:731:5
[INFO] [stdout]     |
[INFO] [stdout] 727 | pub struct ClusterManager {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 731 |     endpoints: HashMap<u32, Option<ChaosEndpoint>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `consistent`, `committed_indices`, `max_committed`, and `error` are never read
[INFO] [stdout]    --> src/chaos/runner.rs:906:9
[INFO] [stdout]     |
[INFO] [stdout] 905 | pub struct ConsistencyResult {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 906 |     pub consistent: bool,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 907 |     pub committed_indices: Vec<(u32, Option<u64>)>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 908 |     pub max_committed: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 909 |     pub error: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConsistencyResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `committed_index`, `current_view`, `is_primary`, `session_map`, and `restore_session_map` are never used
[INFO] [stdout]    --> src/chaos/tests.rs:537:8
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl ChaosNode {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 537 |     fn committed_index(&self) -> Option<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn current_view(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn is_primary(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 549 |     fn session_map(&self) -> &crate::vsr::client::SessionMap {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn restore_session_map(&mut self, session_map: crate::vsr::client::SessionMap) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.03s
[INFO] running `Command { std: "docker" "inspect" "6bb6636f88f8c328299c157b648f50265882697aee7f1a360c4cc9f430cbfc3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bb6636f88f8c328299c157b648f50265882697aee7f1a360c4cc9f430cbfc3c", kill_on_drop: false }`
[INFO] [stdout] 6bb6636f88f8c328299c157b648f50265882697aee7f1a360c4cc9f430cbfc3c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5a00fabaece45e043e70f1dad79db84e85d782cbd0c05583274cab55cb8975b0
[INFO] running `Command { std: "docker" "start" "-a" "5a00fabaece45e043e70f1dad79db84e85d782cbd0c05583274cab55cb8975b0", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::kernel::snapshot::SnapshotManifest`
[INFO] [stderr]    --> src/kernel/executor/tests.rs:463:9
[INFO] [stderr]     |
[INFO] [stderr] 463 |     use crate::kernel::snapshot::SnapshotManifest;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::kernel::snapshot::SnapshotManifest`
[INFO] [stderr]    --> src/kernel/executor/tests.rs:821:9
[INFO] [stderr]     |
[INFO] [stderr] 821 |     use crate::kernel::snapshot::SnapshotManifest;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::kernel::traits::SideEffectStatus`
[INFO] [stderr]    --> src/kernel/side_effect_manager.rs:399:9
[INFO] [stderr]     |
[INFO] [stderr] 399 |     use crate::kernel::traits::SideEffectStatus;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `chrApplication` should have an upper camel case name
[INFO] [stderr]    --> src/kernel/traits.rs:470:11
[INFO] [stderr]     |
[INFO] [stderr] 470 | pub trait chrApplication: Send + Sync + 'static {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrApplication`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BankApp`, `BankError`, `BankEvent`, `BankQueryResponse`, `BankQuery`, and `BankState`
[INFO] [stderr]  --> src/kernel/mod.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use bank::{BankApp, BankError, BankEvent, BankQuery, BankQueryResponse, BankState};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ExecutorStatus`, `Executor`, `FatalError`, and `StepResult`
[INFO] [stderr]  --> src/kernel/mod.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use executor::{Executor, ExecutorStatus, FatalError, StepResult};
[INFO] [stderr]   |                    ^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MockAcknowledgeSubmitter`, `MockEffectExecutor`, `SideEffectManagerConfig`, and `SideEffectManager`
[INFO] [stderr]   --> src/kernel/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     SideEffectManager, SideEffectManagerConfig, MockEffectExecutor, MockAcknowledgeSubmitter,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SNAPSHOT_HEADER_SIZE`, `SNAPSHOT_MAGIC`, `SNAPSHOT_VERSION`, `SnapshotError`, and `SnapshotManifest`
[INFO] [stderr]   --> src/kernel/mod.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use snapshot::{SnapshotError, SnapshotManifest, SNAPSHOT_HEADER_SIZE, SNAPSHOT_MAGIC, SNAPSHOT_VERSION};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ApplyContext`, `BlockTime`, `EffectId`, `EventFlags`, `EventHeader`, `Event`, `LogLevel`, `OutboxEntry`, `Outbox`, `ScopedEvent`, `ScopedState`, `SideEffectStatus`, `SideEffect`, `SnapshotStream`, `SystemEvent`, and `chrApplication`
[INFO] [stderr]   --> src/kernel/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ApplyContext, BlockTime, EffectId, Event, EventFlags, EventHeader, LogLevel, Outbox,
[INFO] [stderr]    |     ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stderr] 15 |     OutboxEntry, chrApplication, ScopedEvent, ScopedState, SideEffect, SideEffectStatus,
[INFO] [stderr]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 16 |     SnapshotStream, SystemEvent,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `chrClient` should have an upper camel case name
[INFO] [stderr]    --> src/vsr/client.rs:112:12
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub struct chrClient {
[INFO] [stderr]     |            ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ChrClient`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ELECTION_TIMEOUT`
[INFO] [stderr]    --> src/vsr/tests.rs:516:43
[INFO] [stderr]     |
[INFO] [stderr] 516 |     use super::node::{HEARTBEAT_INTERVAL, ELECTION_TIMEOUT};
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SessionMap`
[INFO] [stderr]    --> src/vsr/tests.rs:760:36
[INFO] [stderr]     |
[INFO] [stderr] 760 |     use super::client::{chrClient, SessionMap};
[INFO] [stderr]     |                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ClientRequest`
[INFO] [stderr]    --> src/vsr/tests.rs:761:26
[INFO] [stderr]     |
[INFO] [stderr] 761 |     use super::message::{ClientRequest, ClientResult};
[INFO] [stderr]     |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClientRequest` and `ClientResult`
[INFO] [stderr]     --> src/vsr/tests.rs:1634:26
[INFO] [stderr]      |
[INFO] [stderr] 1634 |     use super::message::{ClientRequest, ClientResult, PreparedEntry, VsrMessage};
[INFO] [stderr]      |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClientRequest`, `ClientResponse`, `ClientResult`, `LogEntrySummary`, and `VsrMessage`
[INFO] [stderr]   --> src/vsr/mod.rs:10:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use message::{VsrMessage, LogEntrySummary, ClientRequest, ClientResponse, ClientResult};
[INFO] [stderr]    |                   ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `quorum::QuorumTracker`
[INFO] [stderr]   --> src/vsr/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use quorum::QuorumTracker;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DoViewChangeInfo`, `ELECTION_TIMEOUT`, `HEARTBEAT_INTERVAL`, `NodeRole`, and `VsrNode`
[INFO] [stderr]   --> src/vsr/mod.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use node::{VsrNode, NodeRole, DoViewChangeInfo, HEARTBEAT_INTERVAL, ELECTION_TIMEOUT};
[INFO] [stderr]    |                ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `network::MockNetwork`
[INFO] [stderr]   --> src/vsr/mod.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use network::MockNetwork;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClientSession`, `PendingRequest`, `SessionMap`, and `chrClient`
[INFO] [stderr]   --> src/vsr/mod.rs:14:18
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use client::{SessionMap, chrClient, ClientSession, PendingRequest};
[INFO] [stderr]    |                  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::engine::format::GENESIS_HASH`
[INFO] [stderr]    --> src/chaos/runner.rs:193:13
[INFO] [stderr]     |
[INFO] [stderr] 193 |         use crate::engine::format::GENESIS_HASH;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Checker`
[INFO] [stderr]   --> src/chaos/tests.rs:15:29
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::chaos::checker::{Checker, Operation, OperationResult, SharedHistory};
[INFO] [stderr]    |                             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Fault`, `NemesisConfig`, and `Nemesis`
[INFO] [stderr]   --> src/chaos/tests.rs:16:29
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::chaos::nemesis::{Fault, Nemesis, NemesisConfig};
[INFO] [stderr]    |                             ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BankApp`
[INFO] [stderr]   --> src/chaos/tests.rs:20:27
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::kernel::bank::{BankApp, BankEvent};
[INFO] [stderr]    |                           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VsrNode`
[INFO] [stderr]   --> src/chaos/tests.rs:23:34
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::vsr::node::{NodeRole, VsrNode, ELECTION_TIMEOUT};
[INFO] [stderr]    |                                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ChaosConfig`, `ChaosEndpoint`, and `ChaosNetwork`
[INFO] [stderr]  --> src/chaos/mod.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use network::{ChaosNetwork, ChaosEndpoint, ChaosConfig};
[INFO] [stderr]   |                   ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FaultEvent`, `Fault`, `NemesisConfig`, and `Nemesis`
[INFO] [stderr]   --> src/chaos/mod.rs:10:19
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use nemesis::{Nemesis, NemesisConfig, Fault, FaultEvent};
[INFO] [stderr]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CheckResult`, `CheckStats`, `Checker`, `HistoryEntry`, `History`, `OperationResult`, `Operation`, `SharedHistory`, `ViolationKind`, and `Violation`
[INFO] [stderr]   --> src/chaos/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     History, SharedHistory, HistoryEntry,
[INFO] [stderr]    |     ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 13 |     Operation, OperationResult,
[INFO] [stderr]    |     ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     Checker, CheckResult, Violation, ViolationKind, CheckStats,
[INFO] [stderr]    |     ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClusterManager`, `ConsistencyResult`, `NodeConfig`, `NodeHandle`, `NodeState`, and `spawn_node`
[INFO] [stderr]   --> src/chaos/mod.rs:16:18
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub use runner::{NodeHandle, NodeConfig, NodeState, ClusterManager, ConsistencyResult, spawn_node};
[INFO] [stderr]    |                  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `iovec_count`
[INFO] [stderr]    --> src/engine/log.rs:241:13
[INFO] [stderr]     |
[INFO] [stderr] 241 |         let iovec_count = if padding_len > 0 { 4 } else { 3 };
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iovec_count`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hash_after_single`
[INFO] [stderr]     --> src/engine/log.rs:1103:13
[INFO] [stderr]      |
[INFO] [stderr] 1103 |         let hash_after_single = writer.tail_hash();
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_after_single`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/kernel/executor/tests.rs:848:9
[INFO] [stderr]     |
[INFO] [stderr] 848 |     let mut reader = LogReader::open(log_path, committed_state.clone()).unwrap();
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vsr/tests.rs:1768:9
[INFO] [stderr]      |
[INFO] [stderr] 1768 |     let mut node_1: VsrNode<BankApp> = VsrNode::new_backup(
[INFO] [stderr]      |         ----^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/vsr/tests.rs:1863:9
[INFO] [stderr]      |
[INFO] [stderr] 1863 |     let mut node_1: VsrNode<BankApp> = VsrNode::new_backup(
[INFO] [stderr]      |         ----^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ep1`
[INFO] [stderr]    --> src/chaos/network.rs:473:13
[INFO] [stderr]     |
[INFO] [stderr] 473 |         let ep1 = network.create_endpoint(1).unwrap();
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ep1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_index`
[INFO] [stderr]    --> src/chaos/runner.rs:391:46
[INFO] [stderr]     |
[INFO] [stderr] 391 |             VsrMessage::PrepareBatch { view, start_index, entries, commit_index, timestamp_ns } => {
[INFO] [stderr]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `start_index: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `log_path`
[INFO] [stderr]    --> src/chaos/runner.rs:797:13
[INFO] [stderr]     |
[INFO] [stderr] 797 |         let log_path = config.log_path.clone();
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_running` and `next_index` are never used
[INFO] [stderr]    --> src/engine/durability.rs:171:12
[INFO] [stderr]     |
[INFO] [stderr]  90 | impl DurabilityHandle {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub fn is_running(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn next_index(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `open`, `is_stalled`, and `is_running` are never used
[INFO] [stderr]    --> src/engine/durability.rs:221:12
[INFO] [stderr]     |
[INFO] [stderr] 198 | impl DurabilityWorker {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 221 |     pub fn open(
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 418 |     pub fn is_stalled(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 423 |     pub fn is_running(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_empty` is never used
[INFO] [stderr]    --> src/engine/format.rs:308:12
[INFO] [stderr]     |
[INFO] [stderr] 306 | impl LogMetadata {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 307 |     /// Create metadata for a new (non-truncated) log.
[INFO] [stderr] 308 |     pub fn new_empty() -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `check_vote_fence` and `update_log_position` are never used
[INFO] [stderr]    --> src/engine/manifest.rs:301:12
[INFO] [stderr]     |
[INFO] [stderr] 247 | impl Manifest {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 301 |     pub fn check_vote_fence(&self, view: u64, candidate: u32) -> Result<(), VoteFenceError> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 349 |     pub fn update_log_position(&mut self, last_index: u64, last_view: u64) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_manifest_against_log` is never used
[INFO] [stderr]    --> src/engine/manifest.rs:407:8
[INFO] [stderr]     |
[INFO] [stderr] 407 | pub fn validate_manifest_against_log(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RecoveryWithManifest` is never constructed
[INFO] [stderr]    --> src/engine/manifest.rs:438:12
[INFO] [stderr]     |
[INFO] [stderr] 438 | pub struct RecoveryWithManifest {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `open_for_recovery` is never used
[INFO] [stderr]    --> src/engine/manifest.rs:460:12
[INFO] [stderr]     |
[INFO] [stderr] 447 | impl Manifest {
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 460 |     pub fn open_for_recovery(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `base_prev_hash` is never read
[INFO] [stderr]   --> src/engine/recovery.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     CleanEmpty {
[INFO] [stderr]    |     ---------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 21 |         base_prev_hash: [u8; 16],
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `base_index` and `base_prev_hash` are never read
[INFO] [stderr]   --> src/engine/recovery.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     Truncated {
[INFO] [stderr]    |     --------- fields in this variant
[INFO] [stderr] ...
[INFO] [stderr] 42 |         base_index: u64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 43 |         /// Base prev_hash for truncated logs (GENESIS_HASH for non-truncated).
[INFO] [stderr] 44 |         base_prev_hash: [u8; 16],
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecoveryOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `outbox_mut` is never used
[INFO] [stderr]   --> src/kernel/bank.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl BankState {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn outbox_mut(&mut self) -> &mut Outbox {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `AllBalances` is never constructed
[INFO] [stderr]    --> src/kernel/bank.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub enum BankQuery {
[INFO] [stderr]     |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 123 |     AllBalances,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BankQuery` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/kernel/bank.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |     AllBalances(HashMap<String, u64>),
[INFO] [stderr]     |     ----------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BankQueryResponse` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 133 -     AllBalances(HashMap<String, u64>),
[INFO] [stderr] 133 +     AllBalances(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_state` is never used
[INFO] [stderr]    --> src/kernel/executor/mod.rs:102:12
[INFO] [stderr]     |
[INFO] [stderr]  56 | impl<A: chrApplication> Executor<A> {
[INFO] [stderr]     | ----------------------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 102 |     pub fn with_state(
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `side_effects` is never read
[INFO] [stderr]   --> src/kernel/executor/error.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     Applied {
[INFO] [stderr]    |     ------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 34 |         side_effects: Vec<SideEffect>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StepResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `DeserializeError` and `NoValidSnapshot` are never constructed
[INFO] [stderr]   --> src/kernel/executor/error.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub enum FatalError {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 71 |     DeserializeError {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     NoValidSnapshot,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FatalError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `snapshot_dir`, `truncate_log_to_snapshot`, `cleanup_old_snapshots`, and `compact` are never used
[INFO] [stderr]    --> src/kernel/executor/snapshot_ops.rs:140:12
[INFO] [stderr]     |
[INFO] [stderr]   9 | impl<A: chrApplication> Executor<A> {
[INFO] [stderr]     | ----------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 140 |     pub fn snapshot_dir(&self) -> &Path {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     pub fn truncate_log_to_snapshot(&mut self) -> Result<u64, FatalError> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 242 |     fn cleanup_old_snapshots(&self, keep_index: u64) -> Result<(), FatalError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn compact(&mut self) -> Result<u64, FatalError> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `poll_interval` is never read
[INFO] [stderr]   --> src/kernel/side_effect_manager.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct SideEffectManagerConfig {
[INFO] [stderr]    |            ----------------------- field in this struct
[INFO] [stderr] 18 |     /// How often to poll the outbox for pending effects.
[INFO] [stderr] 19 |     pub poll_interval: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SideEffectManagerConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `running` is never read
[INFO] [stderr]    --> src/kernel/side_effect_manager.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub struct SideEffectManager {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 120 |     running: Arc<AtomicBool>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `effects_executed`, `acks_submitted`, `is_running`, and `stop` are never used
[INFO] [stderr]    --> src/kernel/side_effect_manager.rs:279:12
[INFO] [stderr]     |
[INFO] [stderr] 127 | impl SideEffectManager {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 279 |     pub fn effects_executed(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 284 |     pub fn acks_submitted(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 289 |     pub fn is_running(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 294 |     pub fn stop(&self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_should_succeed` and `clear` are never used
[INFO] [stderr]    --> src/kernel/side_effect_manager.rs:336:12
[INFO] [stderr]     |
[INFO] [stderr] 309 | impl MockEffectExecutor {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 341 |     pub fn clear(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_should_succeed` and `clear` are never used
[INFO] [stderr]    --> src/kernel/side_effect_manager.rs:384:12
[INFO] [stderr]     |
[INFO] [stderr] 357 | impl MockAcknowledgeSubmitter {
[INFO] [stderr]     | ----------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 384 |     pub fn set_should_succeed(&self, succeed: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 389 |     pub fn clear(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SerializeError` is never constructed
[INFO] [stderr]   --> src/kernel/snapshot.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub enum SnapshotError {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 88 |     SerializeError(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SnapshotError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_millis` is never used
[INFO] [stderr]   --> src/kernel/traits.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl BlockTime {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn as_millis(&self) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `block_time`, `random_seed`, and `view_id` are never read
[INFO] [stderr]   --> src/kernel/traits.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct ApplyContext {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 44 |     block_time: BlockTime,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     random_seed: [u8; 32],
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     view_id: u64,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `block_time`, `random_seed`, and `view_id` are never used
[INFO] [stderr]    --> src/kernel/traits.rs:83:12
[INFO] [stderr]     |
[INFO] [stderr]  57 | impl ApplyContext {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  83 |     pub fn block_time(&self) -> BlockTime {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  92 |     pub fn random_seed(&self) -> [u8; 32] {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn view_id(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `index`, `view_id`, `stream_id`, `schema_version`, and `flags` are never read
[INFO] [stderr]    --> src/kernel/traits.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub struct EventHeader {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] 137 |     /// Monotonic log index (0, 1, 2, ...).
[INFO] [stderr] 138 |     pub index: u64,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 139 |     /// Consensus view/term when this event was committed.
[INFO] [stderr] 140 |     pub view_id: u64,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 141 |     /// Routing hint for multi-tenancy.
[INFO] [stderr] 142 |     pub stream_id: u64,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 143 |     /// Payload schema version for forward/backward compatibility.
[INFO] [stderr] 144 |     pub schema_version: u16,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 145 |     /// Event type flags.
[INFO] [stderr] 146 |     pub flags: EventFlags,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EventHeader` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `header` is never read
[INFO] [stderr]    --> src/kernel/traits.rs:153:9
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub struct Event {
[INFO] [stderr]     |            ----- field in this struct
[INFO] [stderr] 152 |     /// Event header (from log entry).
[INFO] [stderr] 153 |     pub header: EventHeader,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Event` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ScopedState` is never constructed
[INFO] [stderr]    --> src/kernel/traits.rs:186:12
[INFO] [stderr]     |
[INFO] [stderr] 186 | pub struct ScopedState<'step, S> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `get` are never used
[INFO] [stderr]    --> src/kernel/traits.rs:198:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | impl<'step, S> ScopedState<'step, S> {
[INFO] [stderr]     | ------------------------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn new(state: &'step S) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn get(&self) -> &'step S {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ScopedEvent` is never constructed
[INFO] [stderr]    --> src/kernel/traits.rs:221:12
[INFO] [stderr]     |
[INFO] [stderr] 221 | pub struct ScopedEvent<'step> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_event` is never used
[INFO] [stderr]    --> src/kernel/traits.rs:230:12
[INFO] [stderr]     |
[INFO] [stderr] 228 | impl<'step> ScopedEvent<'step> {
[INFO] [stderr]     | ------------------------------ associated function in this implementation
[INFO] [stderr] 229 |     /// Create a scoped event from an owned event.
[INFO] [stderr] 230 |     pub fn from_event(event: &'step Event) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_bytes` and `as_bytes` are never used
[INFO] [stderr]    --> src/kernel/traits.rs:262:12
[INFO] [stderr]     |
[INFO] [stderr] 247 | impl EffectId {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 262 |     pub fn from_bytes(bytes: [u8; 16]) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     pub fn as_bytes(&self) -> &[u8; 16] {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `contains`, `len`, `is_empty`, and `compact` are never used
[INFO] [stderr]    --> src/kernel/traits.rs:358:12
[INFO] [stderr]     |
[INFO] [stderr] 314 | impl Outbox {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 358 |     pub fn contains(&self, id: &EffectId) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 363 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 368 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 378 |     pub fn compact(&mut self, before_index: u64) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SystemEvent` is never used
[INFO] [stderr]    --> src/kernel/traits.rs:390:10
[INFO] [stderr]     |
[INFO] [stderr] 390 | pub enum SystemEvent {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `serialize`, `deserialize`, and `index` are never used
[INFO] [stderr]    --> src/vsr/message.rs:221:12
[INFO] [stderr]     |
[INFO] [stderr] 219 | impl VsrMessage {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 220 |     /// Serialize message to bytes using bincode.
[INFO] [stderr] 221 |     pub fn serialize(&self) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     pub fn deserialize(bytes: &[u8]) -> Result<Self, bincode::Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     pub fn index(&self) -> Option<u64> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `contains` is never used
[INFO] [stderr]   --> src/vsr/quorum.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl NodeBitset {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn contains(&self, node_id: u32) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `cluster_size` is never read
[INFO] [stderr]   --> src/vsr/quorum.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct QuorumTracker {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 56 |     /// Number of nodes in the cluster.
[INFO] [stderr] 57 |     cluster_size: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `quorum_index` and `vote_count` are never used
[INFO] [stderr]    --> src/vsr/quorum.rs:146:12
[INFO] [stderr]     |
[INFO] [stderr]  69 | impl QuorumTracker {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn quorum_index(&self) -> Option<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     pub fn vote_count(&self, index: u64) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `last_written_index` is never read
[INFO] [stderr]    --> src/vsr/node.rs:371:5
[INFO] [stderr]     |
[INFO] [stderr] 363 | struct PendingBackupDurability {
[INFO] [stderr]     |        ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 371 |     last_written_index: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PendingBackupDurability` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/vsr/node.rs:503:12
[INFO] [stderr]      |
[INFO] [stderr]  374 | impl<A: chrApplication> VsrNode<A> {
[INFO] [stderr]      | ---------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  503 |     pub fn durable_highest_view(&self) -> u64 {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  512 |     pub fn check_view_fence(&self, msg_view: u64) -> Result<(), ViewFenceError> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  522 |     pub fn set_max_replication_gap(&mut self, max: u64) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  567 |     pub fn disable_async_durability(&mut self) {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  710 |     pub fn pending_backup_durability_count(&self) -> usize {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1668 |     pub fn next_index(&self) -> u64 {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1674 |     pub fn fdatasync_count(&self) -> u64 {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1695 |     pub fn is_primary(&self) -> bool {
[INFO] [stderr]      |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `recv` is never used
[INFO] [stderr]   --> src/vsr/network.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl NetworkEndpoint {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `cluster_size` is never read
[INFO] [stderr]   --> src/vsr/network.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct MockNetwork {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 77 |     /// Number of nodes in the network.
[INFO] [stderr] 78 |     cluster_size: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_connected` is never used
[INFO] [stderr]    --> src/vsr/network.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr]  88 | impl MockNetwork {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn is_connected(&self, from: u32, to: u32) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `last_sequence`, `clear`, and `client_count` are never used
[INFO] [stderr]   --> src/vsr/client.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl SessionMap {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn last_sequence(&self, client_id: u64) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn clear(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn client_count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PendingRequest` is never constructed
[INFO] [stderr]   --> src/vsr/client.rs:97:12
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub struct PendingRequest {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_retries` and `base_timeout` are never read
[INFO] [stderr]    --> src/vsr/client.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub struct chrClient {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 122 |     max_retries: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 123 |     /// Base timeout for requests.
[INFO] [stderr] 124 |     base_timeout: Duration,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/vsr/client.rs:162:12
[INFO] [stderr]     |
[INFO] [stderr] 127 | impl chrClient {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub fn current_sequence(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn last_known_leader(&self) -> Option<u32> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 206 |     pub fn max_retries(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 212 |     pub fn is_overload_error(response: &ClientResponse) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 221 |     pub fn overload_backoff_duration(&self, attempt: u32) -> Duration {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub fn handle_overload(&self, attempt: u32) -> Duration {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/chaos/network.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct ChaosEndpoint {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 48 |     config: Arc<RwLock<ChaosConfig>>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `recv`, `recv_timeout`, and `is_killed` are never used
[INFO] [stderr]    --> src/chaos/network.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl ChaosEndpoint {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn recv(&self) -> Option<(u32, VsrMessage)> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn recv_timeout(&self, timeout: Duration) -> Option<(u32, VsrMessage)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn is_killed(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_config` and `get_config` are never used
[INFO] [stderr]    --> src/chaos/network.rs:386:12
[INFO] [stderr]     |
[INFO] [stderr] 157 | impl ChaosNetwork {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 386 |     pub fn set_config(&self, new_config: ChaosConfig) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 392 |     pub fn get_config(&self) -> ChaosConfig {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PartitionQuorum` and `Noop` are never constructed
[INFO] [stderr]   --> src/chaos/nemesis.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum Fault {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 17 |     PartitionQuorum,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     Noop,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Fault` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `timestamp`, `target_node`, and `details` are never read
[INFO] [stderr]   --> src/chaos/nemesis.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct FaultEvent {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 27 |     /// When the fault was injected.
[INFO] [stderr] 28 |     pub timestamp: Instant,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub target_node: Option<u32>,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 33 |     /// Additional details.
[INFO] [stderr] 34 |     pub details: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FaultEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tick_interval`, `fault_probability`, `fault_weights`, `min_fault_interval`, `auto_heal`, and `auto_heal_delay` are never read
[INFO] [stderr]   --> src/chaos/nemesis.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct NemesisConfig {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 40 |     /// How often to consider injecting a fault.
[INFO] [stderr] 41 |     pub tick_interval: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 42 |     /// Probability of injecting a fault on each tick (0.0 - 1.0).
[INFO] [stderr] 43 |     pub fault_probability: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 44 |     /// Weights for each fault type (KillPrimary, PartitionQuorum, Heal).
[INFO] [stderr] 45 |     pub fault_weights: [f64; 3],
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 46 |     /// Minimum time between faults.
[INFO] [stderr] 47 |     pub min_fault_interval: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 48 |     /// Whether to automatically heal after some time.
[INFO] [stderr] 49 |     pub auto_heal: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 50 |     /// Time after which to auto-heal.
[INFO] [stderr] 51 |     pub auto_heal_delay: Duration,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NemesisConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config`, `running`, `last_fault_time`, and `last_disruption_time` are never read
[INFO] [stderr]   --> src/chaos/nemesis.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub struct Nemesis {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 72 |     config: NemesisConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     running: Arc<AtomicBool>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     last_fault_time: Arc<std::sync::Mutex<Option<Instant>>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 81 |     /// Last non-heal fault time (for auto-heal).
[INFO] [stderr] 82 |     last_disruption_time: Arc<std::sync::Mutex<Option<Instant>>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/chaos/nemesis.rs:100:12
[INFO] [stderr]     |
[INFO] [stderr]  85 | impl Nemesis {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn set_view(&self, view: u64) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 |     pub fn get_view(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn start(&self) -> thread::JoinHandle<()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn stop(&self) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn is_running(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn clear_history(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn choose_fault(weights: &[f64; 3], rng: &mut impl Rng) -> Fault {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `timestamp` and `log_index` are never read
[INFO] [stderr]   --> src/chaos/checker.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct HistoryEntry {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 37 |     /// When the operation was initiated.
[INFO] [stderr] 38 |     pub timestamp: Instant,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub log_index: Option<u64>,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HistoryEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_empty` and `clear` are never used
[INFO] [stderr]    --> src/chaos/checker.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr]  60 | impl History {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn clear(&mut self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `len`, `is_empty`, and `clear` are never used
[INFO] [stderr]    --> src/chaos/checker.rs:157:12
[INFO] [stderr]     |
[INFO] [stderr] 126 | impl SharedHistory {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     pub fn clear(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `description` and `related_entries` are never read
[INFO] [stderr]    --> src/chaos/checker.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 204 | pub struct Violation {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 208 |     pub description: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 209 |     /// Related history entries (by index).
[INFO] [stderr] 210 |     pub related_entries: Vec<usize>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Violation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `OrderingViolation` is never constructed
[INFO] [stderr]    --> src/chaos/checker.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 215 | pub enum ViolationKind {
[INFO] [stderr]     |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 223 |     OrderingViolation,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ViolationKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `verify_conservation` are never used
[INFO] [stderr]    --> src/chaos/checker.rs:255:12
[INFO] [stderr]     |
[INFO] [stderr] 253 | impl Checker {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 254 |     /// Create a new checker with initial balances.
[INFO] [stderr] 255 |     pub fn new(initial_balances: HashMap<String, u64>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 408 |     pub fn verify_conservation(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `next_index` and `session_map` are never read
[INFO] [stderr]   --> src/chaos/runner.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct NodeState {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub next_index: u64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 38 |     pub session_map: SessionMap,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `send_request` is never used
[INFO] [stderr]   --> src/chaos/runner.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl NodeHandle {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] 62 |     /// Send a client request and wait for response.
[INFO] [stderr] 63 |     pub fn send_request(&self, request: ClientRequest) -> Option<ClientResponse> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `endpoints` is never read
[INFO] [stderr]    --> src/chaos/runner.rs:731:5
[INFO] [stderr]     |
[INFO] [stderr] 727 | pub struct ClusterManager {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 731 |     endpoints: HashMap<u32, Option<ChaosEndpoint>>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `consistent`, `committed_indices`, `max_committed`, and `error` are never read
[INFO] [stderr]    --> src/chaos/runner.rs:906:9
[INFO] [stderr]     |
[INFO] [stderr] 905 | pub struct ConsistencyResult {
[INFO] [stderr]     |            ----------------- fields in this struct
[INFO] [stderr] 906 |     pub consistent: bool,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 907 |     pub committed_indices: Vec<(u32, Option<u64>)>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 908 |     pub max_committed: Option<u64>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 909 |     pub error: Option<String>,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ConsistencyResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `committed_index`, `current_view`, `is_primary`, `session_map`, and `restore_session_map` are never used
[INFO] [stderr]    --> src/chaos/tests.rs:537:8
[INFO] [stderr]     |
[INFO] [stderr]  51 | impl ChaosNode {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 537 |     fn committed_index(&self) -> Option<u64> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 541 |     fn current_view(&self) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 545 |     fn is_primary(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 549 |     fn session_map(&self) -> &crate::vsr::client::SessionMap {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 553 |     fn restore_session_map(&mut self, session_map: crate::vsr::client::SessionMap) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chr` (bin "chr" test) generated 102 warnings (run `cargo fix --bin "chr" -p chr --tests` to apply 34 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chr-9e5784e7d741dbc8)
[INFO] [stdout] 
[INFO] [stdout] running 111 tests
[INFO] [stdout] test chaos::nemesis::tests::test_nemesis_heal ... ok
[INFO] [stdout] test chaos::checker::tests::test_checker_conservation ... ok
[INFO] [stdout] test chaos::checker::tests::test_checker_detects_duplicate ... ok
[INFO] [stdout] test chaos::nemesis::tests::test_nemesis_kill_primary ... ok
[INFO] [stdout] test chaos::network::tests::test_chaos_network_kill_node ... ok
[INFO] [stdout] test engine::durability::tests::test_durability_worker_basic ... ok
[INFO] [stdout] test chaos::network::tests::test_chaos_network_basic ... ok
[INFO] [stdout] test chaos::network::tests::test_chaos_network_partition ... ok
[INFO] [stdout] test engine::durability::tests::test_durability_worker_single_append ... ok
[INFO] [stdout] test chaos::checker::tests::test_history_recording ... ok
[INFO] [stdout] test engine::format::tests::test_checksum_roundtrip ... ok
[INFO] [stdout] test engine::format::tests::test_header_size ... ok
[INFO] [stdout] test engine::durability::tests::test_durability_worker_shutdown_rejects_new_work ... ok
[INFO] [stdout] test engine::format::tests::test_sentinel_magic_detection ... ok
[INFO] [stdout] test engine::format::tests::test_padding_calculation ... ok
[INFO] [stdout] test engine::format::tests::test_sentinel_v2_max_index ... ok
[INFO] [stdout] test engine::format::tests::test_sentinel_v2_roundtrip ... ok
[INFO] [stdout] test engine::format::tests::test_sentinel_v2_size ... ok
[INFO] [stdout] test engine::format::tests::test_sentinel_v2_large_index ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_reordered_writes_both_present ... ok
[INFO] [stdout] test engine::log::tests::test_append_batch_basic ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_partial_write_recovery ... ok
[INFO] [stdout] test engine::log::tests::test_append_single_entry ... ok
[INFO] [stdout] test engine::durability::tests::test_durability_worker_handle_clone ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_tail_corruption_truncates ... ok
[INFO] [stdout] test engine::log::tests::test_append_batch_chain_continuity ... ok
[INFO] [stdout] test engine::log::tests::test_committed_index_tracks_durable_state ... ok
[INFO] [stdout] test engine::log::tests::test_owner_thread_same_thread_ok ... ok
[INFO] [stdout] test chaos::tests::test_chaos_network_message_delivery ... ok
[INFO] [stdout] test engine::log::tests::test_mixed_single_and_batch_writes ... ok
[INFO] [stdout] test engine::durability::tests::test_durability_worker_multiple_batches ... ok
[INFO] [stdout] test engine::manifest::tests::test_durable_state_roundtrip ... ok
[INFO] [stdout] test engine::log::tests::test_visibility_ordering ... ok
[INFO] [stdout] test engine::manifest::tests::test_view_fence_check ... ok
[INFO] [stdout] test engine::manifest::tests::test_vote_fence_check ... ok
[INFO] [stdout] test chaos::checker::tests::test_checker_detects_value_loss ... ok
[INFO] [stdout] test engine::manifest::tests::test_manifest_rejects_double_vote ... ok
[INFO] [stdout] test engine::manifest::tests::test_manifest_vote_persistence ... ok
[INFO] [stdout] test engine::manifest::tests::test_durable_state_invalid_magic ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_empty_log ... ok
[INFO] [stdout] test engine::log::tests::test_append_multiple_entries ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_range_clamped_to_committed ... ok
[INFO] [stdout] test engine::reader::tests::test_concurrent_reader_writer ... ok
[INFO] [stdout] test engine::recovery::tests::test_recovery_empty_file ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_respects_committed_index ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_visibility_ordering ... ok
[INFO] [stdout] test kernel::bank::tests::test_deposit ... ok
[INFO] [stdout] test kernel::bank::tests::test_query_balance ... ok
[INFO] [stdout] test kernel::bank::tests::test_snapshot_restore ... ok
[INFO] [stdout] test engine::recovery::tests::test_recovery_with_entries ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_validates_entries ... ok
[INFO] [stdout] test kernel::bank::tests::test_withdraw_success ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_orphaned_entry_panics - should panic ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_broken_chain_detection ... ok
[INFO] [stdout] test kernel::executor::tests::test_bank_execution_flow ... ok
[INFO] [stdout] test kernel::executor::tests::test_corrupt_bridge_fails ... ok
[INFO] [stdout] test kernel::executor::tests::test_executor_respects_committed_index ... ok
[INFO] [stdout] test engine::reader::tests::test_multiple_readers ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_zero_hole_panics - should panic ... ok
[INFO] [stdout] test engine::fault_injection::tests::test_mid_log_corruption_panics - should panic ... ok
[INFO] [stdout] test engine::reader::tests::test_reader_scan_all ... ok
[INFO] [stdout] test engine::log::tests::test_group_commit_throughput ... ok
[INFO] [stdout] test kernel::executor::tests::test_snapshot_no_entries_fails ... ok
[INFO] [stdout] test kernel::side_effect_manager::tests::test_in_flight_tracker ... ok
[INFO] [stdout] test kernel::side_effect_manager::tests::test_side_effect_manager_fencing_token_blocks_old_primary ... ok
[INFO] [stdout] test kernel::side_effect_manager::tests::test_side_effect_manager_primary_fencing ... ok
[INFO] [stdout] test kernel::executor::tests::test_log_gap_after_snapshot_fails ... ok
[INFO] [stdout] test kernel::bank::tests::test_poison_pill_panics - should panic ... ok
[INFO] [stdout] test kernel::side_effect_manager::tests::test_side_effect_manager_skips_acknowledged ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_atomic_write ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_filename_generation ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_filename_parsing ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_corrupted_state ... ok
[INFO] [stdout] test kernel::bank::tests::test_withdraw_insufficient_funds ... ok
[INFO] [stdout] test vsr::client::tests::test_chr_client_leader_redirect ... ok
[INFO] [stdout] test vsr::client::tests::test_chr_client_sequence_numbers ... ok
[INFO] [stdout] test vsr::client::tests::test_session_map_duplicate_detection ... ok
[INFO] [stdout] test vsr::network::tests::test_mock_network_basic ... ok
[INFO] [stdout] test vsr::network::tests::test_mock_network_disconnect ... ok
[INFO] [stdout] test vsr::quorum::tests::test_quorum_tracker_basic ... ok
[INFO] [stdout] test vsr::quorum::tests::test_quorum_tracker_in_order_commit ... ok
[INFO] [stdout] test engine::manifest::tests::test_durable_state_invalid_checksum ... ok
[INFO] [stdout] test kernel::executor::tests::test_executor_restart_integrity ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_corrupted_header ... ok
[INFO] [stdout] test kernel::executor::tests::test_should_snapshot_threshold ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_roundtrip ... ok
[INFO] [stdout] test engine::manifest::tests::test_manifest_create_and_load ... ok
[INFO] [stdout] test kernel::snapshot::tests::test_snapshot_invalid_magic ... FAILED
[INFO] [stdout] test kernel::executor::tests::test_executor_idle_when_caught_up ... ok
[INFO] [stdout] test vsr::tests::test_scheduler_fairness ... ok
[INFO] [stdout] test kernel::executor::tests::test_recovery_no_snapshot ... ok
[INFO] [stdout] test kernel::executor::tests::test_recovery_fallback_to_older_snapshot ... ok
[INFO] [stdout] test kernel::executor::tests::test_snapshot_isolation ... ok
[INFO] [stdout] test vsr::tests::test_chr_jepsen_threaded ... ok
[INFO] [stdout] test vsr::tests::test_vsr_basic_replication ... ok
[INFO] [stdout] test vsr::tests::test_deterministic_drift_protection ... ok
[INFO] [stdout] test vsr::tests::test_async_durability_mode ... ok
[INFO] [stdout] test vsr::tests::test_heartbeat_decoupled_from_flush ... ok
[INFO] [stdout] test vsr::tests::test_vsr_quorum_commit ... ok
[INFO] [stdout] test kernel::executor::tests::test_physical_compaction_integrity ... ok
[INFO] [stdout] test vsr::tests::test_vsr_multiple_entries ... ok
[INFO] [stdout] test chaos::tests::test_chr_chaos_monkey ... ok
[INFO] [stdout] test vsr::tests::test_chr_survivability ... ok
[INFO] [stdout] test vsr::tests::test_vsr_heartbeat_prevents_election ... ok
[INFO] [stdout] test vsr::tests::test_client_exactly_once_during_failover ... ok
[INFO] [stdout] test vsr::tests::test_vsr_full_view_change ... ok
[INFO] [stdout] test vsr::tests::test_vsr_failure_detection ... ok
[INFO] [stdout] test vsr::tests::test_chronon_io_isolation ... ok
[INFO] [stdout] test vsr::tests::test_outbox_exactly_once_with_failure ... ok
[INFO] [stdout] test chaos::tests::test_chr_jepsen_threaded ... ok
[INFO] [stdout] test chaos::tests::test_chr_jepsen_kill_revive ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- kernel::snapshot::tests::test_snapshot_invalid_magic stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'kernel::snapshot::tests::test_snapshot_invalid_magic' (136) panicked at src/kernel/snapshot.rs:389:9:
[INFO] [stdout] assertion failed: matches!(result, Err(SnapshotError::InvalidMagic))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5739b0efb362 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5739b0efb362 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5739b0efb362 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5739b0efb362 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5739b0f10a4a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5739b0f10a4a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5739b0f00466 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5739b0f00466 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5739b0ed7a4f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5739b0ed7a4f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5739b0ef23e9 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5739b0e3d64e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5739b0e3d64e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5739b0ef25a2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5739b0ef25a2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5739b0ed7b3a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5739b0eccae9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5739b0ed8a1d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5739b0f1115c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5739b0f11122 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5739b0e06d06 - chr[38a455e3d45f1b8e]::kernel::snapshot::tests::test_snapshot_invalid_magic
[INFO] [stdout]                                at /opt/rustwide/workdir/src/kernel/snapshot.rs:389:9
[INFO] [stdout]   21:     0x5739b0de1e57 - chr[38a455e3d45f1b8e]::kernel::snapshot::tests::test_snapshot_invalid_magic::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/kernel/snapshot.rs:379:37
[INFO] [stdout]   22:     0x5739b0d468e6 - <chr[38a455e3d45f1b8e]::kernel::snapshot::tests::test_snapshot_invalid_magic::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5739b0e319fb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5739b0e319fb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5739b0e3e25a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5739b0e3e25a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5739b0e3e25a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5739b0e3e25a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5739b0e3e25a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5739b0e3e25a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5739b0e3e25a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5739b0e39804 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5739b0e39804 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5739b0e40d52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5739b0e40d52 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5739b0e40d52 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5739b0e40d52 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5739b0e40d52 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5739b0e40d52 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5739b0e40d52 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5739b0efa6df - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x5739b0efa6df - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x7b289d309aa4 - <unknown>
[INFO] [stdout]   44:     0x7b289d396a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     kernel::snapshot::tests::test_snapshot_invalid_magic
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 110 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin chr`
[INFO] running `Command { std: "docker" "inspect" "5a00fabaece45e043e70f1dad79db84e85d782cbd0c05583274cab55cb8975b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a00fabaece45e043e70f1dad79db84e85d782cbd0c05583274cab55cb8975b0", kill_on_drop: false }`
[INFO] [stdout] 5a00fabaece45e043e70f1dad79db84e85d782cbd0c05583274cab55cb8975b0
