[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#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdat2%2Frust-raft" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/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-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dat2/rust-raft on toolchain b1f2594eac607c1f051534800237eeedb5590a49 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+b1f2594eac607c1f051534800237eeedb5590a49" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] afe97bb83dcfda57f64759ed0a27b6aec648517ebcb98b5f392df9a9d3021e83 [INFO] running `Command { std: "docker" "start" "-a" "afe97bb83dcfda57f64759ed0a27b6aec648517ebcb98b5f392df9a9d3021e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "afe97bb83dcfda57f64759ed0a27b6aec648517ebcb98b5f392df9a9d3021e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afe97bb83dcfda57f64759ed0a27b6aec648517ebcb98b5f392df9a9d3021e83", kill_on_drop: false }` [INFO] [stdout] afe97bb83dcfda57f64759ed0a27b6aec648517ebcb98b5f392df9a9d3021e83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 01703427cfc7d7a8b2ca67ac515cd918f682eee093e1d3af080a6cfc4cf48f3f [INFO] running `Command { std: "docker" "start" "-a" "01703427cfc7d7a8b2ca67ac515cd918f682eee093e1d3af080a6cfc4cf48f3f", 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] Checking log v0.3.6 [INFO] [stderr] Compiling gcc v0.3.43 [INFO] [stderr] Checking byteorder v1.0.0 [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] Checking lazycell v0.4.0 [INFO] [stderr] Checking slab v0.3.0 [INFO] [stderr] Compiling backtrace v0.3.0 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking regex-syntax v0.4.0 [INFO] [stderr] Checking scoped-tls v0.1.0 [INFO] [stderr] Checking utf8-ranges v1.0.0 [INFO] [stderr] Checking rustc-demangle v0.1.4 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking serde v1.0.4 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Checking num-traits v0.1.37 [INFO] [stderr] Checking ansi_term v0.9.0 [INFO] [stderr] Checking unicode-width v0.1.4 [INFO] [stderr] Checking strsim v0.6.0 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking smallvec v0.2.1 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking take v0.1.0 [INFO] [stderr] Checking vec_map v0.6.0 [INFO] [stderr] Checking unicode-segmentation v1.1.0 [INFO] [stderr] Compiling backtrace-sys v0.1.10 [INFO] [stderr] Checking iovec v0.1.0 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking net2 v0.2.29 [INFO] [stderr] Checking thread-id v3.0.0 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking term_size v0.2.3 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking bytes v0.4.3 [INFO] [stderr] Checking clap v2.20.5 [INFO] [stderr] Checking aho-corasick v0.6.2 [INFO] [stderr] Checking regex v0.2.1 [INFO] [stderr] Checking tokio-io v0.1.1 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking mio v0.6.7 [INFO] [stderr] Compiling serde_derive_internals v0.15.0 [INFO] [stderr] Checking tokio-core v0.1.7 [INFO] [stderr] Compiling serde_derive v1.0.4 [INFO] [stderr] Checking bincode v0.8.0 [INFO] [stderr] Checking env_logger v0.4.1 [INFO] [stderr] Checking tokio-proto v0.1.1 [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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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::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/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/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::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/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: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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] [INFO] [stdout] warning: struct `StateMachine` is never constructed [INFO] [stdout] --> src/state.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 31 | impl StateMachine { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 32 | fn new(state: S, term: usize) -> StateMachine { [INFO] [stdout] | ^^^ [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: struct `Follower` is never constructed [INFO] [stdout] --> src/state.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Follower { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 84 | impl Follower { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 85 | fn new(voted_for: Option) -> Follower { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Candidate` is never constructed [INFO] [stdout] --> src/state.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Candidate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Leader` is never constructed [INFO] [stdout] --> src/state.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct Leader; [INFO] [stdout] | ^^^^^^ [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)]` (part of `#[warn(unused)]`) 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: 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: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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] [INFO] [stdout] warning: struct `StateMachine` is never constructed [INFO] [stdout] --> src/state.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct StateMachine { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:32:6 [INFO] [stdout] | [INFO] [stdout] 31 | impl StateMachine { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 32 | fn new(state: S, term: usize) -> StateMachine { [INFO] [stdout] | ^^^ [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: struct `Follower` is never constructed [INFO] [stdout] --> src/state.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Follower { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:85:6 [INFO] [stdout] | [INFO] [stdout] 84 | impl Follower { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 85 | fn new(voted_for: Option) -> Follower { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Candidate` is never constructed [INFO] [stdout] --> src/state.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Candidate; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Leader` is never constructed [INFO] [stdout] --> src/state.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct Leader; [INFO] [stdout] | ^^^^^^ [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)]` (part of `#[warn(unused)]`) 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 18.44s [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 2` [INFO] running `Command { std: "docker" "inspect" "01703427cfc7d7a8b2ca67ac515cd918f682eee093e1d3af080a6cfc4cf48f3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01703427cfc7d7a8b2ca67ac515cd918f682eee093e1d3af080a6cfc4cf48f3f", kill_on_drop: false }` [INFO] [stdout] 01703427cfc7d7a8b2ca67ac515cd918f682eee093e1d3af080a6cfc4cf48f3f