[INFO] fetching crate libraft 0.1.1... [INFO] testing libraft-0.1.1 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate libraft 0.1.1 into /workspace/builds/worker-16/source [INFO] validating manifest of crates.io crate libraft 0.1.1 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate libraft 0.1.1 [INFO] finished tweaking crates.io crate libraft 0.1.1 [INFO] tweaked toml for crates.io crate libraft 0.1.1 written to /workspace/builds/worker-16/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 90a3e83ddf0d2580e66cc3baecb381c03d5279a754980aa9beed734cc0fb154f [INFO] running `Command { std: "docker" "start" "-a" "90a3e83ddf0d2580e66cc3baecb381c03d5279a754980aa9beed734cc0fb154f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "90a3e83ddf0d2580e66cc3baecb381c03d5279a754980aa9beed734cc0fb154f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90a3e83ddf0d2580e66cc3baecb381c03d5279a754980aa9beed734cc0fb154f", kill_on_drop: false }` [INFO] [stdout] 90a3e83ddf0d2580e66cc3baecb381c03d5279a754980aa9beed734cc0fb154f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 03c836d400e5b0316a0a7930eabca0f734a6f5e4e244007d94c3dcec6afd87fb [INFO] running `Command { std: "docker" "start" "-a" "03c836d400e5b0316a0a7930eabca0f734a6f5e4e244007d94c3dcec6afd87fb", kill_on_drop: false }` [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling protobuf v1.7.5 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling libraft v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | Other(err: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - Other(err: Box) { [INFO] [stdout] 70 + Other(err: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:245:26 [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:248:38 [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:251:55 [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:528:26 [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:531:38 [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:534:55 [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:775:26 [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:778:38 [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:781:55 [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:999:26 [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1002:38 [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1005:55 [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1248:26 [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1251:38 [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1254:55 [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1875:26 [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1878:38 [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1881:55 [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2224:26 [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2227:38 [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2230:55 [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 246 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:249:22 [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:529:18 [INFO] [stdout] | [INFO] [stdout] 529 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 529 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:532:22 [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:776:18 [INFO] [stdout] | [INFO] [stdout] 776 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 776 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:779:22 [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1000:18 [INFO] [stdout] | [INFO] [stdout] 1000 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1000 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1003:22 [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1249:18 [INFO] [stdout] | [INFO] [stdout] 1249 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1249 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1252:22 [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1876:18 [INFO] [stdout] | [INFO] [stdout] 1876 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1876 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1879:22 [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2225:18 [INFO] [stdout] | [INFO] [stdout] 2225 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2225 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2228:22 [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1257:17 [INFO] [stdout] | [INFO] [stdout] 1257 | if let Some(mut m) = more_to_send { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1864:22 [INFO] [stdout] | [INFO] [stdout] 1864 | let (mut matched, mut next) = (0, self.raft_log.last_index() + 1); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:835:23 [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:1734:13 [INFO] [stdout] | [INFO] [stdout] 1734 | panic!(e) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 1734 | panic!("{}", e) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 1734 | std::panic::panic_any(e) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:216:33 [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 216 | _ => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 374 | _ => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1660:3 [INFO] [stdout] | [INFO] [stdout] 1660 | mem::replace(&mut self.prs, prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1672:3 [INFO] [stdout] | [INFO] [stdout] 1672 | mem::replace(&mut self.learner_prs, learner_prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.36s [INFO] running `Command { std: "docker" "inspect" "03c836d400e5b0316a0a7930eabca0f734a6f5e4e244007d94c3dcec6afd87fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03c836d400e5b0316a0a7930eabca0f734a6f5e4e244007d94c3dcec6afd87fb", kill_on_drop: false }` [INFO] [stdout] 03c836d400e5b0316a0a7930eabca0f734a6f5e4e244007d94c3dcec6afd87fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 42b1d53f43f92db7e18ad2c7b25267535eecf551f103c04fbf9bdeb4a61ae63e [INFO] running `Command { std: "docker" "start" "-a" "42b1d53f43f92db7e18ad2c7b25267535eecf551f103c04fbf9bdeb4a61ae63e", kill_on_drop: false }` [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | Other(err: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - Other(err: Box) { [INFO] [stdout] 70 + Other(err: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:245:26 [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:248:38 [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:251:55 [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:528:26 [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:531:38 [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:534:55 [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:775:26 [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:778:38 [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:781:55 [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:999:26 [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1002:38 [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1005:55 [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1248:26 [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1251:38 [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1254:55 [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1875:26 [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1878:38 [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1881:55 [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2224:26 [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2227:38 [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2230:55 [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 246 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:249:22 [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:529:18 [INFO] [stdout] | [INFO] [stdout] 529 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 529 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:532:22 [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:776:18 [INFO] [stdout] | [INFO] [stdout] 776 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 776 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:779:22 [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1000:18 [INFO] [stdout] | [INFO] [stdout] 1000 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1000 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1003:22 [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1249:18 [INFO] [stdout] | [INFO] [stdout] 1249 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1249 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1252:22 [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1876:18 [INFO] [stdout] | [INFO] [stdout] 1876 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1876 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1879:22 [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2225:18 [INFO] [stdout] | [INFO] [stdout] 2225 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2225 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2228:22 [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1257:17 [INFO] [stdout] | [INFO] [stdout] 1257 | if let Some(mut m) = more_to_send { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1864:22 [INFO] [stdout] | [INFO] [stdout] 1864 | let (mut matched, mut next) = (0, self.raft_log.last_index() + 1); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:835:23 [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:1734:13 [INFO] [stdout] | [INFO] [stdout] 1734 | panic!(e) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 1734 | panic!("{}", e) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 1734 | std::panic::panic_any(e) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:216:33 [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 216 | _ => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 374 | _ => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1660:3 [INFO] [stdout] | [INFO] [stdout] 1660 | mem::replace(&mut self.prs, prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1672:3 [INFO] [stdout] | [INFO] [stdout] 1672 | mem::replace(&mut self.learner_prs, learner_prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling libraft v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/cases/test_raft.rs:2202:9 [INFO] [stdout] | [INFO] [stdout] 2202 | )]);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/cases/test_raft.rs:2208:9 [INFO] [stdout] | [INFO] [stdout] 2208 | )]);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> tests/cases/test_raft.rs:2214:9 [INFO] [stdout] | [INFO] [stdout] 2214 | )]);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Storage` [INFO] [stdout] --> tests/cases/test_raft_flow_control.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use libraft::storage::{MemStorage, Storage}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:70:24 [INFO] [stdout] | [INFO] [stdout] 70 | Other(err: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 70 - Other(err: Box) { [INFO] [stdout] 70 + Other(err: Box) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:245:26 [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 245 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:248:38 [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 248 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:251:55 [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:528:26 [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 528 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:531:38 [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 531 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:534:55 [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 534 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:775:26 [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 775 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:778:38 [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 778 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:781:55 [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 781 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:999:26 [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 999 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1002:38 [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1002 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1005:55 [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1005 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1248:26 [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1248 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1251:38 [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1251 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1254:55 [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1254 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1875:26 [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1875 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1878:38 [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1878 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1881:55 [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1881 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2224:26 [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2224 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2227:38 [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2227 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2230:55 [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2230 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 246 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:249:22 [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 249 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:529:18 [INFO] [stdout] | [INFO] [stdout] 529 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 529 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:532:22 [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 532 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:776:18 [INFO] [stdout] | [INFO] [stdout] 776 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 776 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:779:22 [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 779 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1000:18 [INFO] [stdout] | [INFO] [stdout] 1000 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1000 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1003:22 [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1003 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1249:18 [INFO] [stdout] | [INFO] [stdout] 1249 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1249 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1252:22 [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1252 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1876:18 [INFO] [stdout] | [INFO] [stdout] 1876 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1876 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:1879:22 [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 1879 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2225:18 [INFO] [stdout] | [INFO] [stdout] 2225 | self as &::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2225 | self as &dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/raftpb.rs:2228:22 [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut ::std::any::Any [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 2228 | self as &mut dyn (::std::any::Any) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Storage` [INFO] [stdout] --> tests/cases/test_raft_snap.rs:2:36 [INFO] [stdout] | [INFO] [stdout] 2 | use libraft::storage::{MemStorage, Storage}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_index` is never read [INFO] [stdout] --> tests/cases/test_raw_node.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | let mut last_index = 0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | let mut p = Progress { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1257:17 [INFO] [stdout] | [INFO] [stdout] 1257 | if let Some(mut m) = more_to_send { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:1583:10 [INFO] [stdout] | [INFO] [stdout] 1583 | for (mut m, wcommit) in tests { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/raft.rs:1864:22 [INFO] [stdout] | [INFO] [stdout] 1864 | let (mut matched, mut next) = (0, self.raft_log.last_index() + 1); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:2277:13 [INFO] [stdout] | [INFO] [stdout] 2277 | let mut m = new_message_with_entries( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:2344:13 [INFO] [stdout] | [INFO] [stdout] 2344 | let mut m = new_message_with_entries( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:2763:13 [INFO] [stdout] | [INFO] [stdout] 2763 | let mut r = new_test_raft(id, peers, 5, 1, MemStorage::new()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft.rs:2776:13 [INFO] [stdout] | [INFO] [stdout] 2776 | let mut r = new_test_raft(1, ids, 10, 1, MemStorage::new()); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft_paper.rs:581:13 [INFO] [stdout] | [INFO] [stdout] 581 | let mut ents = vec![e]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft_paper.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 590 | let mut msgs: Vec = r.msgs.drain(..).collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/cases/test_raft_paper.rs:996:13 [INFO] [stdout] | [INFO] [stdout] 996 | let mut msgs: Vec = r.msgs.drain(..).collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:526:5 [INFO] [stdout] | [INFO] [stdout] 526 | r.step(new_message(1, 1, MessageType::MsgHeartbeat)).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | / r.step(new_message(2, 1, MessageType::MsgHeartbeatResp)) [INFO] [stdout] 530 | | .is_ok(); [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:547:5 [INFO] [stdout] | [INFO] [stdout] 547 | r.step(m.clone()).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:548:5 [INFO] [stdout] | [INFO] [stdout] 548 | r.step(m.clone()).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:549:5 [INFO] [stdout] | [INFO] [stdout] 549 | r.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> tests/cases/test_raft.rs:721:9 [INFO] [stdout] | [INFO] [stdout] 721 | storage.append(&vec![e]).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:835:23 [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 835 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft.rs:1734:13 [INFO] [stdout] | [INFO] [stdout] 1734 | panic!(e) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 1734 | panic!("{}", e) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 1734 | std::panic::panic_any(e) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 63 | Err(err) => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:216:33 [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 216 | _ => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 216 | _ => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!(err), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 374 | _ => panic!("{}", err), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 374 | _ => std::panic::panic_any(err), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:507:34 [INFO] [stdout] | [INFO] [stdout] 507 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 507 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 507 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:635:38 [INFO] [stdout] | [INFO] [stdout] 635 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 635 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 635 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:680:30 [INFO] [stdout] | [INFO] [stdout] 680 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 680 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 680 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:748:34 [INFO] [stdout] | [INFO] [stdout] 748 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 748 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 748 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/raft_log.rs:774:34 [INFO] [stdout] | [INFO] [stdout] 774 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 774 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 774 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:488:34 [INFO] [stdout] | [INFO] [stdout] 488 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 488 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 488 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:500:30 [INFO] [stdout] | [INFO] [stdout] 500 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 500 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 500 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:506:30 [INFO] [stdout] | [INFO] [stdout] 506 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 506 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 506 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:517:30 [INFO] [stdout] | [INFO] [stdout] 517 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 517 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 517 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:523:30 [INFO] [stdout] | [INFO] [stdout] 523 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 523 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 523 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/storage.rs:560:30 [INFO] [stdout] | [INFO] [stdout] 560 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 560 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 560 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1660:3 [INFO] [stdout] | [INFO] [stdout] 1660 | mem::replace(&mut self.prs, prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/raft.rs:1672:3 [INFO] [stdout] | [INFO] [stdout] 1672 | mem::replace(&mut self.learner_prs, learner_prs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stdout] --> src/raw_node.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | self.raft.step(m).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.64s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/libraft-6c352351a20e3188) [INFO] [stderr] Executable tests/test.rs (/opt/rustwide/target/debug/deps/test-2ba704fdc2f52d22) [INFO] running `Command { std: "docker" "inspect" "42b1d53f43f92db7e18ad2c7b25267535eecf551f103c04fbf9bdeb4a61ae63e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42b1d53f43f92db7e18ad2c7b25267535eecf551f103c04fbf9bdeb4a61ae63e", kill_on_drop: false }` [INFO] [stdout] 42b1d53f43f92db7e18ad2c7b25267535eecf551f103c04fbf9bdeb4a61ae63e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-16/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b27ec0d1ba4eff769ddaa5e5970d91e7668d3804ba4f8e2389d3b287124c0446 [INFO] running `Command { std: "docker" "start" "-a" "b27ec0d1ba4eff769ddaa5e5970d91e7668d3804ba4f8e2389d3b287124c0446", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | Other(err: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 70 - Other(err: Box) { [INFO] [stderr] 70 + Other(err: Box) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:245:26 [INFO] [stderr] | [INFO] [stderr] 245 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 245 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:248:38 [INFO] [stderr] | [INFO] [stderr] 248 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 248 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:251:55 [INFO] [stderr] | [INFO] [stderr] 251 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 251 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:528:26 [INFO] [stderr] | [INFO] [stderr] 528 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 528 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:531:38 [INFO] [stderr] | [INFO] [stderr] 531 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 531 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:534:55 [INFO] [stderr] | [INFO] [stderr] 534 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 534 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:775:26 [INFO] [stderr] | [INFO] [stderr] 775 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 775 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:778:38 [INFO] [stderr] | [INFO] [stderr] 778 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 778 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:781:55 [INFO] [stderr] | [INFO] [stderr] 781 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 781 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:999:26 [INFO] [stderr] | [INFO] [stderr] 999 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 999 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1002:38 [INFO] [stderr] | [INFO] [stderr] 1002 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1002 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1005:55 [INFO] [stderr] | [INFO] [stderr] 1005 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1005 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1248:26 [INFO] [stderr] | [INFO] [stderr] 1248 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1248 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1251:38 [INFO] [stderr] | [INFO] [stderr] 1251 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1251 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1254:55 [INFO] [stderr] | [INFO] [stderr] 1254 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1254 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1875:26 [INFO] [stderr] | [INFO] [stderr] 1875 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1875 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1878:38 [INFO] [stderr] | [INFO] [stderr] 1878 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1878 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1881:55 [INFO] [stderr] | [INFO] [stderr] 1881 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1881 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:2224:26 [INFO] [stderr] | [INFO] [stderr] 2224 | fn as_any(&self) -> &::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 2224 | fn as_any(&self) -> &dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:2227:38 [INFO] [stderr] | [INFO] [stderr] 2227 | fn as_any_mut(&mut self) -> &mut ::std::any::Any { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 2227 | fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:2230:55 [INFO] [stderr] | [INFO] [stderr] 2230 | fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 2230 | fn into_any(self: Box) -> ::std::boxed::Box { [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:246:18 [INFO] [stderr] | [INFO] [stderr] 246 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 246 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:249:22 [INFO] [stderr] | [INFO] [stderr] 249 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 249 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:529:18 [INFO] [stderr] | [INFO] [stderr] 529 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 529 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:532:22 [INFO] [stderr] | [INFO] [stderr] 532 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 532 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:776:18 [INFO] [stderr] | [INFO] [stderr] 776 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 776 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:779:22 [INFO] [stderr] | [INFO] [stderr] 779 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 779 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1000:18 [INFO] [stderr] | [INFO] [stderr] 1000 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1000 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1003:22 [INFO] [stderr] | [INFO] [stderr] 1003 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1003 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1249:18 [INFO] [stderr] | [INFO] [stderr] 1249 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1249 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1252:22 [INFO] [stderr] | [INFO] [stderr] 1252 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1252 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1876:18 [INFO] [stderr] | [INFO] [stderr] 1876 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1876 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:1879:22 [INFO] [stderr] | [INFO] [stderr] 1879 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 1879 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:2225:18 [INFO] [stderr] | [INFO] [stderr] 2225 | self as &::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 2225 | self as &dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/raftpb.rs:2228:22 [INFO] [stderr] | [INFO] [stderr] 2228 | self as &mut ::std::any::Any [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 2228 | self as &mut dyn (::std::any::Any) [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/raft.rs:1257:17 [INFO] [stderr] | [INFO] [stderr] 1257 | if let Some(mut m) = more_to_send { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/raft.rs:1864:22 [INFO] [stderr] | [INFO] [stderr] 1864 | let (mut matched, mut next) = (0, self.raft_log.last_index() + 1); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft.rs:835:23 [INFO] [stderr] | [INFO] [stderr] 835 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 835 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 835 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft.rs:1734:13 [INFO] [stderr] | [INFO] [stderr] 1734 | panic!(e) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 1734 | panic!("{}", e) [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 1734 | std::panic::panic_any(e) [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:63:32 [INFO] [stderr] | [INFO] [stderr] 63 | Err(err) => panic!(err), [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 63 | Err(err) => panic!("{}", err), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 63 | Err(err) => std::panic::panic_any(err), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:216:33 [INFO] [stderr] | [INFO] [stderr] 216 | _ => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 216 | _ => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 216 | _ => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:374:29 [INFO] [stderr] | [INFO] [stderr] 374 | _ => panic!(err), [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 374 | _ => panic!("{}", err), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 374 | _ => std::panic::panic_any(err), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/raft.rs:1660:3 [INFO] [stderr] | [INFO] [stderr] 1660 | mem::replace(&mut self.prs, prs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> src/raft.rs:1672:3 [INFO] [stderr] | [INFO] [stderr] 1672 | mem::replace(&mut self.learner_prs, learner_prs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stderr] --> src/raw_node.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 329 | self.raft.step(m).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::result::Result::::is_ok` that must be used [INFO] [stderr] --> src/raw_node.rs:340:9 [INFO] [stderr] | [INFO] [stderr] 340 | self.raft.step(m).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:507:34 [INFO] [stderr] | [INFO] [stderr] 507 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 507 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 507 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:635:38 [INFO] [stderr] | [INFO] [stderr] 635 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 635 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 635 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:680:30 [INFO] [stderr] | [INFO] [stderr] 680 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 680 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 680 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:748:34 [INFO] [stderr] | [INFO] [stderr] 748 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 748 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 748 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/raft_log.rs:774:34 [INFO] [stderr] | [INFO] [stderr] 774 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 774 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 774 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:488:34 [INFO] [stderr] | [INFO] [stderr] 488 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 488 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 488 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:500:30 [INFO] [stderr] | [INFO] [stderr] 500 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 500 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 500 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:506:30 [INFO] [stderr] | [INFO] [stderr] 506 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 506 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 506 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:517:30 [INFO] [stderr] | [INFO] [stderr] 517 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 517 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 517 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:523:30 [INFO] [stderr] | [INFO] [stderr] 523 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 523 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 523 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/storage.rs:560:30 [INFO] [stderr] | [INFO] [stderr] 560 | Err(e) => panic!(e), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 560 | Err(e) => panic!("{}", e), [INFO] [stderr] | +++++ [INFO] [stderr] help: or use std::panic::panic_any instead [INFO] [stderr] | [INFO] [stderr] 560 | Err(e) => std::panic::panic_any(e), [INFO] [stderr] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] [INFO] [stderr] warning: `libraft` (lib) generated 47 warnings [INFO] [stderr] warning: `libraft` (lib test) generated 58 warnings (47 duplicates) [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/cases/test_raft.rs:2202:9 [INFO] [stderr] | [INFO] [stderr] 2202 | )]);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/cases/test_raft.rs:2208:9 [INFO] [stderr] | [INFO] [stderr] 2208 | )]);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> tests/cases/test_raft.rs:2214:9 [INFO] [stderr] | [INFO] [stderr] 2214 | )]);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unused import: `Storage` [INFO] [stderr] --> tests/cases/test_raft_flow_control.rs:3:36 [INFO] [stderr] | [INFO] [stderr] 3 | use libraft::storage::{MemStorage, Storage}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Storage` [INFO] [stderr] --> tests/cases/test_raft_snap.rs:2:36 [INFO] [stderr] | [INFO] [stderr] 2 | use libraft::storage::{MemStorage, Storage}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_index` is never read [INFO] [stderr] --> tests/cases/test_raw_node.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | let mut last_index = 0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:493:13 [INFO] [stderr] | [INFO] [stderr] 493 | let mut p = Progress { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:1583:10 [INFO] [stderr] | [INFO] [stderr] 1583 | for (mut m, wcommit) in tests { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:2277:13 [INFO] [stderr] | [INFO] [stderr] 2277 | let mut m = new_message_with_entries( [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:2344:13 [INFO] [stderr] | [INFO] [stderr] 2344 | let mut m = new_message_with_entries( [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:2763:13 [INFO] [stderr] | [INFO] [stderr] 2763 | let mut r = new_test_raft(id, peers, 5, 1, MemStorage::new()); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft.rs:2776:13 [INFO] [stderr] | [INFO] [stderr] 2776 | let mut r = new_test_raft(1, ids, 10, 1, MemStorage::new()); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft_paper.rs:581:13 [INFO] [stderr] | [INFO] [stderr] 581 | let mut ents = vec![e]; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft_paper.rs:590:13 [INFO] [stderr] | [INFO] [stderr] 590 | let mut msgs: Vec = r.msgs.drain(..).collect(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/cases/test_raft_paper.rs:996:13 [INFO] [stderr] | [INFO] [stderr] 996 | let mut msgs: Vec = r.msgs.drain(..).collect(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:526:5 [INFO] [stderr] | [INFO] [stderr] 526 | r.step(new_message(1, 1, MessageType::MsgHeartbeat)).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:529:5 [INFO] [stderr] | [INFO] [stderr] 529 | / r.step(new_message(2, 1, MessageType::MsgHeartbeatResp)) [INFO] [stderr] 530 | | .is_ok(); [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:547:5 [INFO] [stderr] | [INFO] [stderr] 547 | r.step(m.clone()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:548:5 [INFO] [stderr] | [INFO] [stderr] 548 | r.step(m.clone()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:549:5 [INFO] [stderr] | [INFO] [stderr] 549 | r.step(m).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stderr] --> tests/cases/test_raft.rs:721:9 [INFO] [stderr] | [INFO] [stderr] 721 | storage.append(&vec![e]).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stderr] [INFO] [stderr] warning: `libraft` (test "test") generated 21 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libraft-6c352351a20e3188) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test log_unstable::test::test_maybe_first_index ... ok [INFO] [stdout] test log_unstable::test::test_maybe_last_index ... ok [INFO] [stdout] test log_unstable::test::test_maybe_term ... ok [INFO] [stdout] test log_unstable::test::test_unstable_stable_to ... ok [INFO] [stdout] test log_unstable::test::test_unstable_restore ... ok [INFO] [stdout] test log_unstable::test::test_unstable_truncate_and_append ... ok [INFO] [stdout] test progress::test::test_inflight_add ... ok [INFO] [stdout] test progress::test::test_inflight_free_first_one ... ok [INFO] [stdout] test progress::test::test_inflight_free_to ... ok [INFO] [stdout] test raft_log::test::test_append ... ok [INFO] [stdout] test raft_log::test::test_hast_next_ents ... ok [INFO] [stdout] test raft_log::test::test_find_conflict ... ok [INFO] [stdout] test raft_log::test::test_is_up_to_date ... ok [INFO] [stdout] test raft_log::test::test_next_ents ... ok [INFO] [stdout] test raft_log::test::test_maybe_append ... ok [INFO] [stdout] test raft_log::test::test_term_with_unstable_snapshot ... ok [INFO] [stdout] test raft_log::test::test_term ... ok [INFO] [stdout] test storage::test::test_storage_append ... ok [INFO] [stdout] test storage::test::test_storage_apply_snapshot ... ok [INFO] [stdout] test raft_log::test::test_slice ... ok [INFO] [stdout] test storage::test::test_storage_compact ... ok [INFO] [stdout] test storage::test::test_storage_create_snapshot ... ok [INFO] [stdout] test storage::test::test_storage_first_index ... ok [INFO] [stdout] test storage::test::test_storage_entries ... ok [INFO] [stdout] test storage::test::test_storage_last_index ... ok [INFO] [stdout] test storage::test::test_storage_term ... ok [INFO] [stdout] test util::test::test_is_local_msg ... ok [INFO] [stdout] test util::test::test_is_response_msg ... ok [INFO] [stdout] test util::test::test_vote_msg_resp_type ... ok [INFO] [stdout] test util::test::test_limit_size ... ok [INFO] [stdout] test raft_log::test::test_compaction_side_effects ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/test.rs (/opt/rustwide/target/debug/deps/test-2ba704fdc2f52d22) [INFO] [stdout] [INFO] [stdout] running 140 tests [INFO] [stdout] test cases::test_raft::test_become_probe ... ok [INFO] [stdout] test cases::test_raft::test_become_replicate ... ok [INFO] [stdout] test cases::test_raft::test_become_snapshot ... ok [INFO] [stdout] test cases::test_raft::test_add_node ... ok [INFO] [stdout] test cases::test_raft::test_add_learner ... ok [INFO] [stdout] test cases::test_raft::test_all_server_step_down ... ok [INFO] [stdout] test cases::test_raft::test_campaign_while_leader ... ok [INFO] [stdout] test cases::test_raft::test_add_node_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_commit ... ok [INFO] [stdout] test cases::test_raft::test_candidate_reset_term_msg_heartbeat ... ok [INFO] [stdout] test cases::test_raft::test_candidate_reset_term_msg_app ... ok [INFO] [stdout] test cases::test_raft::test_commit_after_remove_node ... ok [INFO] [stdout] test cases::test_raft::test_can_not_commit_without_new_term_entry ... ok [INFO] [stdout] test cases::test_raft::test_disruptive_follower ... ok [INFO] [stdout] test cases::test_raft::test_commit_without_new_term_entry ... ok [INFO] [stdout] test cases::test_raft::test_disruptive_follower_pre_vote ... ok [INFO] [stdout] test cases::test_raft::test_handle_heartbeat ... ok [INFO] [stdout] test cases::test_raft::test_candidate_concede ... ok [INFO] [stdout] test cases::test_raft::test_dueling_candidates ... ok [INFO] [stdout] test cases::test_raft::test_free_stuck_candidate_with_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_handle_heartbeat_resp ... ok [INFO] [stdout] test cases::test_raft::test_dueling_pre_candidates ... ok [INFO] [stdout] test cases::test_raft::test_handle_msg_app ... ok [INFO] [stdout] test cases::test_raft::test_leader_cycle ... ok [INFO] [stdout] test cases::test_raft::test_ignore_providing_snap ... ok [INFO] [stdout] test cases::test_raft::test_leader_cycle_pre_vote ... ok [INFO] [stdout] test cases::test_raft::test_leader_step_down_when_quorum_lost ... ok [INFO] [stdout] test cases::test_raft::test_leader_election_overwrite_newer_logs_pre_vote ... ok [INFO] [stdout] test cases::test_raft::test_leader_stepdown_when_quorum_active ... ok [INFO] [stdout] test cases::test_raft::test_leader_superseding_with_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_leader_election_overwrite_newer_logs ... ok [INFO] [stdout] test cases::test_raft::test_leader_election ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_remove_node ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_after_snapshot ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_second_transfer_to_another_node ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_ignore_proposal ... ok [INFO] [stdout] test cases::test_raft::test_leader_election_with_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_leader_election_pre_vote ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_receive_higher_term ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_timeout ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_to_self ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_second_transfer_to_same_node ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_to_non_existing_node ... ok [INFO] [stdout] test cases::test_raft::test_learner_can_not_vote ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_to_up_to_date_node ... ok [INFO] [stdout] test cases::test_raft::test_learner_promotion ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_back ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_to_up_to_date_node_from_follower ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_with_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_leader_transfer_to_slow_follwer ... ok [INFO] [stdout] test cases::test_raft::test_msg_app_resp_wait_reset ... ok [INFO] [stdout] test cases::test_raft::test_non_promotable_voter_with_check_quorum ... ok [INFO] [stdout] test cases::test_raft::test_pre_vote_from_any_state ... ok [INFO] [stdout] test cases::test_raft::test_new_leader_pending_conf ... ok [INFO] [stdout] test cases::test_raft::test_progress_resume ... ok [INFO] [stdout] test cases::test_raft::test_progress_update ... ok [INFO] [stdout] test cases::test_raft::test_progress_is_paused ... ok [INFO] [stdout] test cases::test_raft::test_progress_maybe_decr ... ok [INFO] [stdout] test cases::test_raft::test_learner_election_timeout ... ok [INFO] [stdout] test cases::test_raft::test_promotable ... ok [INFO] [stdout] test cases::test_raft::test_pre_campaign_while_leader ... ok [INFO] [stdout] test cases::test_raft::test_learner_receive_snapshot ... ok [INFO] [stdout] test cases::test_raft::test_learner_log_replication ... ok [INFO] [stdout] test cases::test_raft::test_node_with_smaller_term_can_complete_election ... ok [INFO] [stdout] test cases::test_raft::test_remove_learner ... ok [INFO] [stdout] test cases::test_raft::test_log_replication ... ok [INFO] [stdout] test cases::test_raft::test_recv_msg_vote ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_bcast_beat ... ok [INFO] [stdout] test cases::test_raft::test_provide_snap ... ok [INFO] [stdout] test cases::test_raft::test_restore_ignore_snapshot ... ok [INFO] [stdout] test cases::test_raft::test_remove_node ... ok [INFO] [stdout] test cases::test_raft::test_pre_vote_migration_with_free_stuck_pre_candidate ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_start_replication ... ok [INFO] [stdout] test cases::test_raft::test_raft_nodes ... ok [INFO] [stdout] test cases::test_raft::test_progress_resume_by_heartbeat_resp ... ok [INFO] [stdout] test cases::test_raft::test_single_node_candidate ... ok [INFO] [stdout] test cases::test_raft_paper::test_candidate_update_term_from_message ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_only_commit_log_from_current_term ... ok [INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_full ... ok [INFO] [stdout] test cases::test_raft::test_read_only_for_new_leader ... ok [INFO] [stdout] test cases::test_raft_snap::test_pending_snapshot_pause_replcation ... ok [INFO] [stdout] test cases::test_raft::test_vote_from_any_state ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_commit_entry ... ok [INFO] [stdout] test cases::test_raft::test_step_ignore_old_term_msg ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_commit_preceding_entries ... ok [INFO] [stdout] test cases::test_raft::test_pre_vote_with_split_vote ... ok [INFO] [stdout] test cases::test_raft::test_restore_from_snap_msg ... ok [INFO] [stdout] test cases::test_raft::test_msg_pre_vote ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_check_msg_app ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_acknowledge_commit ... ok [INFO] [stdout] test cases::test_raft::test_old_message ... ok [INFO] [stdout] test cases::test_raft::test_raft_frees_read_only_mem ... ok [INFO] [stdout] test cases::test_raft::test_restore_invalid_learner ... ok [INFO] [stdout] test cases::test_raft::test_progress_paused ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_commit_entry ... ok [INFO] [stdout] test cases::test_raft_paper::test_candidate_fallback ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_vote ... ok [INFO] [stdout] test cases::test_raft::test_restore_learner_promotion ... ok [INFO] [stdout] test cases::test_raft::test_transfer_non_member ... ok [INFO] [stdout] test cases::test_raft::test_step_config ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_update_term_from_message ... ok [INFO] [stdout] test cases::test_raft_paper::test_candidate_start_election ... ok [INFO] [stdout] test cases::test_raft::test_single_node_committed ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_election_timeout_randomized ... ok [INFO] [stdout] test cases::test_raft_paper::test_candidate_election_timeout_randomized ... ok [INFO] [stdout] test cases::test_raft::test_read_only_option_safe ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_append_entries ... ok [INFO] [stdout] test cases::test_raft::test_step_ignore_config ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_update_term_from_message ... ok [INFO] [stdout] test cases::test_raft_paper::test_follower_start_election ... ok [INFO] [stdout] test cases::test_raft_paper::test_reject_stale_term_message ... ok [INFO] [stdout] test cases::test_raft::test_proposal_by_proxy ... ok [INFO] [stdout] test cases::test_raft::test_pre_vote_migration_can_complete_election ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_restart ... ok [INFO] [stdout] test cases::test_raft_snap::test_snapshot_abort ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_proposal_add_duplicate_node ... ok [INFO] [stdout] test cases::test_raft::test_single_node_pre_candidate ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_restart_from_snapshot ... ok [INFO] [stdout] test cases::test_raft_snap::test_sending_snapshot_set_pending_snapshot ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_start ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_election_in_one_round_rpc ... ok [INFO] [stdout] test cases::test_raft_paper::test_vote_request ... ok [INFO] [stdout] test cases::test_raft_paper::test_voter ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_status ... ok [INFO] [stdout] test cases::test_raft_paper::test_start_as_follower ... ok [INFO] [stdout] test cases::test_raft_paper::test_leader_sync_follower_log ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_step ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_read_index ... ok [INFO] [stdout] test cases::test_raft_snap::test_snapshot_failure ... ok [INFO] [stdout] test cases::test_raft_snap::test_snapshot_succeed ... ok [INFO] [stdout] test cases::test_raw_node::test_raw_node_proposal_and_conf_change ... ok [INFO] [stdout] test cases::test_raft::test_read_only_option_leased ... ok [INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_recv_heartbeat ... ok [INFO] [stdout] test cases::test_raft::test_proposal ... ok [INFO] [stdout] test cases::test_raft::test_past_election_timeout ... ok [INFO] [stdout] test cases::test_raft::test_slow_node_restore ... ok [INFO] [stdout] test cases::test_raft::test_state_transition ... ok [INFO] [stdout] test cases::test_raft_paper::candidate_leader_election_timeout_non_conflict ... ok [INFO] [stdout] test cases::test_raft_paper::follower_leader_election_timeout_non_conflict ... ok [INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_move_forward ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 140 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Doc-tests libraft [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/progress.rs - progress::cmp (line 12) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b27ec0d1ba4eff769ddaa5e5970d91e7668d3804ba4f8e2389d3b287124c0446", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b27ec0d1ba4eff769ddaa5e5970d91e7668d3804ba4f8e2389d3b287124c0446", kill_on_drop: false }` [INFO] [stdout] b27ec0d1ba4eff769ddaa5e5970d91e7668d3804ba4f8e2389d3b287124c0446