[INFO] cloning repository https://github.com/dat2/rust-raft [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dat2/rust-raft" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdat2%2Frust-raft", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdat2%2Frust-raft'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8881ddba811664ddb4f67e143b876fc7f06a5c9d [INFO] checking dat2/rust-raft against try#b32fc44666c052e7cf07ab471bfb6f9ec571902f for pr-138676 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdat2%2Frust-raft" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dat2/rust-raft on toolchain b32fc44666c052e7cf07ab471bfb6f9ec571902f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dat2/rust-raft [INFO] finished tweaking git repo https://github.com/dat2/rust-raft [INFO] tweaked toml for git repo https://github.com/dat2/rust-raft written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/dat2/rust-raft 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" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 19f9e1a1d1af926bafc45627272e976673ac2bd81842b601ee135b490302ce96 [INFO] running `Command { std: "docker" "start" "-a" "19f9e1a1d1af926bafc45627272e976673ac2bd81842b601ee135b490302ce96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "19f9e1a1d1af926bafc45627272e976673ac2bd81842b601ee135b490302ce96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "19f9e1a1d1af926bafc45627272e976673ac2bd81842b601ee135b490302ce96", kill_on_drop: false }` [INFO] [stdout] 19f9e1a1d1af926bafc45627272e976673ac2bd81842b601ee135b490302ce96 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6da6bf34bb29ed0a1881b16f92b6fbcb21ff878b528d4ce6ef0dd9c4e2259b28 [INFO] running `Command { std: "docker" "start" "-a" "6da6bf34bb29ed0a1881b16f92b6fbcb21ff878b528d4ce6ef0dd9c4e2259b28", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking libc v0.2.21 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking cfg-if v0.1.0 [INFO] [stderr] Compiling gcc v0.3.43 [INFO] [stderr] Checking byteorder v1.0.0 [INFO] [stderr] Checking log v0.3.6 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Checking futures v0.1.13 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking lazycell v0.4.0 [INFO] [stderr] Checking slab v0.3.0 [INFO] [stderr] Compiling backtrace v0.3.0 [INFO] [stderr] Checking utf8-ranges v1.0.0 [INFO] [stderr] Checking regex-syntax v0.4.0 [INFO] [stderr] Checking scoped-tls v0.1.0 [INFO] [stderr] Checking rustc-demangle v0.1.4 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Checking unicode-segmentation v1.1.0 [INFO] [stderr] Checking vec_map v0.6.0 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking smallvec v0.2.1 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Checking unicode-width v0.1.4 [INFO] [stderr] Checking num-traits v0.1.37 [INFO] [stderr] Checking serde v1.0.4 [INFO] [stderr] Checking iovec v0.1.0 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking thread-id v3.0.0 [INFO] [stderr] Checking net2 v0.2.29 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking term_size v0.2.3 [INFO] [stderr] Checking strsim v0.6.0 [INFO] [stderr] Checking aho-corasick v0.6.2 [INFO] [stderr] Checking bytes v0.4.3 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking ansi_term v0.9.0 [INFO] [stderr] Checking take v0.1.0 [INFO] [stderr] Checking clap v2.20.5 [INFO] [stderr] Checking mio v0.6.7 [INFO] [stderr] Checking regex v0.2.1 [INFO] [stderr] Compiling backtrace-sys v0.1.10 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking tokio-io v0.1.1 [INFO] [stderr] Checking tokio-core v0.1.7 [INFO] [stderr] Compiling serde_derive_internals v0.15.0 [INFO] [stderr] Checking env_logger v0.4.1 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.4 [INFO] [stderr] Checking bincode v0.8.0 [INFO] [stderr] Checking error-chain v0.7.2 [INFO] [stderr] Checking raft v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnboundedReceiver` [INFO] [stdout] --> src/server.rs:13:55 [INFO] [stdout] | [INFO] [stdout] 13 | use futures::sync::mpsc::{unbounded, UnboundedSender, UnboundedReceiver}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/client.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnboundedReceiver` [INFO] [stdout] --> src/server.rs:13:55 [INFO] [stdout] | [INFO] [stdout] 13 | use futures::sync::mpsc::{unbounded, UnboundedSender, UnboundedReceiver}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/client.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / error_chain! { [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / error_chain! { [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/errors.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / error_chain! { [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/errors.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / error_chain! { [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | types { [INFO] [stdout] 4 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:34:62 [INFO] [stdout] | [INFO] [stdout] 34 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:53:60 [INFO] [stdout] | [INFO] [stdout] 53 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:87:85 [INFO] [stdout] | [INFO] [stdout] 87 | self.tx.send(oneshot_tx).map_err(|e| io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:89:87 [INFO] [stdout] | [INFO] [stdout] 89 | .and_then(|_| oneshot_rx.map_err(|e| io::Error::new(io::ErrorKind::Other, e.description()))) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:34:62 [INFO] [stdout] | [INFO] [stdout] 34 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:53:60 [INFO] [stdout] | [INFO] [stdout] 53 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:87:85 [INFO] [stdout] | [INFO] [stdout] 87 | self.tx.send(oneshot_tx).map_err(|e| io::Error::new(io::ErrorKind::Other, e.description())) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server.rs:89:87 [INFO] [stdout] | [INFO] [stdout] 89 | .and_then(|_| oneshot_rx.map_err(|e| io::Error::new(io::ErrorKind::Other, e.description()))) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client.rs:33:62 [INFO] [stdout] | [INFO] [stdout] 33 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client.rs:52:60 [INFO] [stdout] | [INFO] [stdout] 52 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client.rs:33:62 [INFO] [stdout] | [INFO] [stdout] 33 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client.rs:52:60 [INFO] [stdout] | [INFO] [stdout] 52 | Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.description())), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RaftState` is never constructed [INFO] [stdout] --> src/state.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct RaftState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RaftState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `vote` are never used [INFO] [stdout] --> src/state.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 6 | impl RaftState { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> RaftState { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn vote(&mut self, candidate: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StateEnum` is never used [INFO] [stdout] --> src/state.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum StateEnum { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StateEnum` 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: field `state` is never read [INFO] [stdout] --> src/state.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct StateMachine { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 27 | pub state: S, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StateMachine` 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 `init`, `vote`, `complete_vote`, and `election_timeout` are never used [INFO] [stdout] --> src/state.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 40 | impl StateMachine { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 41 | // everyone starts off as a follower [INFO] [stdout] 42 | pub fn init() -> StateMachine { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn vote(self, candidate: String) -> StateMachine { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn complete_vote(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn election_timeout(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `failed_majority_timeout`, `other_leader_elected`, and `elected` are never used [INFO] [stdout] --> src/state.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 62 | impl StateMachine { [INFO] [stdout] | ---------------------------- methods in this implementation [INFO] [stdout] 63 | // if no majority was reached, then we just need to increment term and try again [INFO] [stdout] 64 | pub fn failed_majority_timeout(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn other_leader_elected(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn elected(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `voted_for` is never read [INFO] [stdout] --> src/state.rs:81:3 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Follower { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 81 | voted_for: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Follower` 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: struct `RaftState` is never constructed [INFO] [stdout] --> src/state.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct RaftState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RaftState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `vote` are never used [INFO] [stdout] --> src/state.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 6 | impl RaftState { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> RaftState { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn vote(&mut self, candidate: String) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StateEnum` is never used [INFO] [stdout] --> src/state.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum StateEnum { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StateEnum` 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: field `state` is never read [INFO] [stdout] --> src/state.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct StateMachine { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 27 | pub state: S, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StateMachine` 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 `init`, `vote`, `complete_vote`, and `election_timeout` are never used [INFO] [stdout] --> src/state.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 40 | impl StateMachine { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 41 | // everyone starts off as a follower [INFO] [stdout] 42 | pub fn init() -> StateMachine { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn vote(self, candidate: String) -> StateMachine { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn complete_vote(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn election_timeout(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `failed_majority_timeout`, `other_leader_elected`, and `elected` are never used [INFO] [stdout] --> src/state.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 62 | impl StateMachine { [INFO] [stdout] | ---------------------------- methods in this implementation [INFO] [stdout] 63 | // if no majority was reached, then we just need to increment term and try again [INFO] [stdout] 64 | pub fn failed_majority_timeout(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn other_leader_elected(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn elected(self) -> StateMachine { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `voted_for` is never read [INFO] [stdout] --> src/state.rs:81:3 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Follower { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 81 | voted_for: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Follower` 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: unused `std::result::Result` that must be used [INFO] [stdout] --> src/server.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | v.send(rng.gen()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 107 | let _ = v.send(rng.gen()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftRequest` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RaftRequest` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftRequest` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RaftRequest` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftResponse` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RaftResponse` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftResponse` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RaftResponse` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/server.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | v.send(rng.gen()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 107 | let _ = v.send(rng.gen()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftRequest` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RaftRequest` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftRequest` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RaftRequest` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftResponse` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RaftResponse` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/messages.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Serialize, Deserialize, PartialEq,Debug)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `RaftResponse` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RaftResponse` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | Err(e) => Err(e.description().to_string()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | Err(e) => Err(e.description().to_string()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.70s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "6da6bf34bb29ed0a1881b16f92b6fbcb21ff878b528d4ce6ef0dd9c4e2259b28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6da6bf34bb29ed0a1881b16f92b6fbcb21ff878b528d4ce6ef0dd9c4e2259b28", kill_on_drop: false }` [INFO] [stdout] 6da6bf34bb29ed0a1881b16f92b6fbcb21ff878b528d4ce6ef0dd9c4e2259b28