[INFO] fetching crate kotoba-db-cluster 0.1.21... [INFO] checking kotoba-db-cluster-0.1.21 against master#a33907a7a5381473eec8bcfa0c56e05a856a911c for pr-151539 [INFO] extracting crate kotoba-db-cluster 0.1.21 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate kotoba-db-cluster 0.1.21 [INFO] finished tweaking crates.io crate kotoba-db-cluster 0.1.21 [INFO] tweaked toml for crates.io crate kotoba-db-cluster 0.1.21 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kotoba-db-cluster 0.1.21 on toolchain a33907a7a5381473eec8bcfa0c56e05a856a911c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kotoba-db-cluster 0.1.21 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" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ff1a01a1c210e0132e785ca50205551c1a933a6cc3fbe3238a7719f767c3e2bd [INFO] running `Command { std: "docker" "start" "-a" "ff1a01a1c210e0132e785ca50205551c1a933a6cc3fbe3238a7719f767c3e2bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ff1a01a1c210e0132e785ca50205551c1a933a6cc3fbe3238a7719f767c3e2bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff1a01a1c210e0132e785ca50205551c1a933a6cc3fbe3238a7719f767c3e2bd", kill_on_drop: false }` [INFO] [stdout] ff1a01a1c210e0132e785ca50205551c1a933a6cc3fbe3238a7719f767c3e2bd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+a33907a7a5381473eec8bcfa0c56e05a856a911c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 48791cf0b62e228aa4d3827242b6cb0d309203bbef1e682aa0fc6c8560bb16a1 [INFO] running `Command { std: "docker" "start" "-a" "48791cf0b62e228aa4d3827242b6cb0d309203bbef1e682aa0fc6c8560bb16a1", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling serde_derive v1.0.225 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Compiling tonic-build v0.9.2 [INFO] [stderr] Compiling kotoba-db-cluster v0.1.21 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `full` [INFO] [stdout] --> src/lib.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "full")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` [INFO] [stdout] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/consensus.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [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: `HashSet` [INFO] [stdout] --> src/membership.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `full` [INFO] [stdout] --> src/lib.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "full")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` [INFO] [stdout] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/consensus.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [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: `HashSet` [INFO] [stdout] --> src/membership.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/consensus.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut votes = 1; // Vote for ourselves [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/consensus.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut votes = 1; // Vote for ourselves [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: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:212:47 [INFO] [stdout] | [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:244:63 [INFO] [stdout] | [INFO] [stdout] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:285:82 [INFO] [stdout] | [INFO] [stdout] 285 | ...endEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:190:45 [INFO] [stdout] | [INFO] [stdout] 190 | ...eat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender) -> Result<(... [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | ...re_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender) -> Result<(... [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:195:43 [INFO] [stdout] | [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/replication.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | item: &ReplicationItem, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:235:42 [INFO] [stdout] | [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/replication.rs:429:48 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:212:47 [INFO] [stdout] | [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:244:63 [INFO] [stdout] | [INFO] [stdout] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:285:82 [INFO] [stdout] | [INFO] [stdout] 285 | ...endEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:190:45 [INFO] [stdout] | [INFO] [stdout] 190 | ...eat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender) -> Result<(... [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | ...re_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender) -> Result<(... [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stdout] --> src/consensus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RaftConsensus { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | election_timeout: (Duration, Duration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// Heartbeat interval [INFO] [stdout] 20 | heartbeat_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/consensus.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl RaftConsensus { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stdout] --> src/membership.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MembershipManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: MembershipConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | membership_rx: broadcast::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stdout] --> src/membership.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 29 | impl MembershipManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender src/replication.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ReplicationManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: ReplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stdout] --> src/replication.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl ReplicationManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | async fn replicate_item_to_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:195:43 [INFO] [stdout] | [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/replication.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | item: &ReplicationItem, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:235:42 [INFO] [stdout] | [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/replication.rs:429:48 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stdout] --> src/consensus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RaftConsensus { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | election_timeout: (Duration, Duration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// Heartbeat interval [INFO] [stdout] 20 | heartbeat_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/consensus.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl RaftConsensus { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stdout] --> src/membership.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MembershipManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: MembershipConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | membership_rx: broadcast::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stdout] --> src/membership.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 29 | impl MembershipManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender src/replication.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ReplicationManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: ReplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stdout] --> src/replication.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl ReplicationManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | async fn replicate_item_to_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.96s [INFO] running `Command { std: "docker" "inspect" "48791cf0b62e228aa4d3827242b6cb0d309203bbef1e682aa0fc6c8560bb16a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48791cf0b62e228aa4d3827242b6cb0d309203bbef1e682aa0fc6c8560bb16a1", kill_on_drop: false }` [INFO] [stdout] 48791cf0b62e228aa4d3827242b6cb0d309203bbef1e682aa0fc6c8560bb16a1