[INFO] fetching crate libraft 0.1.1...
[INFO] testing libraft-0.1.1 against 1.54.0 for beta-1.55-1
[INFO] extracting crate libraft 0.1.1 into /workspace/builds/worker-117/source
[INFO] validating manifest of crates.io crate libraft 0.1.1 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "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-117/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] beeead990a3e7a006106d8e43b9c68048a66ca78e60a44a89318626377cd37fc
[INFO] running `Command { std: "docker" "start" "-a" "beeead990a3e7a006106d8e43b9c68048a66ca78e60a44a89318626377cd37fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "beeead990a3e7a006106d8e43b9c68048a66ca78e60a44a89318626377cd37fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "beeead990a3e7a006106d8e43b9c68048a66ca78e60a44a89318626377cd37fc", kill_on_drop: false }`
[INFO] [stdout] beeead990a3e7a006106d8e43b9c68048a66ca78e60a44a89318626377cd37fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8d2af11ce95fffabf062733d6b4e2e48fcfb563f966c01e0bf11c973bbb8618
[INFO] running `Command { std: "docker" "start" "-a" "b8d2af11ce95fffabf062733d6b4e2e48fcfb563f966c01e0bf11c973bbb8618", kill_on_drop: false }`
[INFO] [stderr]    Compiling protobuf v1.7.5
[INFO] [stderr]    Compiling rand_core v0.4.2
[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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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::<T, E>::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::<T, E>::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: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.40s
[INFO] running `Command { std: "docker" "inspect" "b8d2af11ce95fffabf062733d6b4e2e48fcfb563f966c01e0bf11c973bbb8618", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8d2af11ce95fffabf062733d6b4e2e48fcfb563f966c01e0bf11c973bbb8618", kill_on_drop: false }`
[INFO] [stdout] b8d2af11ce95fffabf062733d6b4e2e48fcfb563f966c01e0bf11c973bbb8618
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bdbdc97ffd07d3cf0dbcdbdeb208d7951b61d61d13490678c5fd76e91c8a8c10
[INFO] running `Command { std: "docker" "start" "-a" "bdbdc97ffd07d3cf0dbcdbdeb208d7951b61d61d13490678c5fd76e91c8a8c10", 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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libraft v0.1.1 (/opt/rustwide/workdir)
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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::<T, E>::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::<T, E>::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: 48 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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<error::Error + Sync + Send>) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     --> 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]     --> 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]     --> 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: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]     --> 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_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<Message> = 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<Message> = 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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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::<T, E>::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::<T, E>::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: 59 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 5.67s
[INFO] running `Command { std: "docker" "inspect" "bdbdc97ffd07d3cf0dbcdbdeb208d7951b61d61d13490678c5fd76e91c8a8c10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdbdc97ffd07d3cf0dbcdbdeb208d7951b61d61d13490678c5fd76e91c8a8c10", kill_on_drop: false }`
[INFO] [stdout] bdbdc97ffd07d3cf0dbcdbdeb208d7951b61d61d13490678c5fd76e91c8a8c10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-117/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f24fa6fb2dd7d78dd943dc9c46e5588db5569c93b099d482ce41386007832c65
[INFO] running `Command { std: "docker" "start" "-a" "f24fa6fb2dd7d78dd943dc9c46e5588db5569c93b099d482ce41386007832c65", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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<error::Error + Sync + Send>) {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[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<error::Error + Sync + Send>) {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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_panic)]` on by default
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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::<T, E>::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::<T, E>::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: 48 warnings emitted
[INFO] [stderr] 
[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<error::Error + Sync + Send>) {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[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<error::Error + Sync + Send>) {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]     |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                  ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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]      |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stderr]      |                                                       ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::any::Any)`
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]      = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[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_panic)]` on by default
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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: 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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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] [stdout] 
[INFO] [stderr]     |
[INFO] [stdout] running 31 tests
[INFO] [stderr] 517 |             Err(e) => panic!(e),
[INFO] [stdout] test log_unstable::test::test_maybe_first_index ... ok
[INFO] [stderr]     |                              ^
[INFO] [stdout] test log_unstable::test::test_unstable_truncate_and_append ... ok
[INFO] [stderr]     |
[INFO] [stdout] test progress::test::test_inflight_add ... ok
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] test log_unstable::test::test_unstable_restore ... ok
[INFO] [stderr] help: add a "{}" format string to Display the message
[INFO] [stdout] test log_unstable::test::test_maybe_last_index ... ok
[INFO] [stderr]     |
[INFO] [stdout] test progress::test::test_inflight_free_first_one ... ok
[INFO] [stderr] 517 |             Err(e) => panic!("{}", e),
[INFO] [stdout] test log_unstable::test::test_maybe_term ... ok
[INFO] [stderr]     |                              ^^^^^
[INFO] [stdout] test storage::test::test_storage_apply_snapshot ... ok
[INFO] [stderr] help: or use std::panic::panic_any instead
[INFO] [stdout] test storage::test::test_storage_create_snapshot ... ok
[INFO] [stderr]     |
[INFO] [stdout] test storage::test::test_storage_entries ... ok
[INFO] [stderr] 517 |             Err(e) => std::panic::panic_any(e),
[INFO] [stdout] test raft_log::test::test_term ... ok
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test storage::test::test_storage_append ... ok
[INFO] [stderr] 
[INFO] [stdout] test progress::test::test_inflight_free_to ... ok
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stdout] test raft_log::test::test_slice ... ok
[INFO] [stderr]    --> src/storage.rs:523:30
[INFO] [stdout] test raft_log::test::test_append ... ok
[INFO] [stderr]     |
[INFO] [stdout] test storage::test::test_storage_term ... ok
[INFO] [stderr] 523 |             Err(e) => panic!(e),
[INFO] [stdout] test util::test::test_is_local_msg ... ok
[INFO] [stderr]     |                              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[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 is no longer accepted in Rust 2021
[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: 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::<T, E>::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::<T, E>::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: 59 warnings emitted
[INFO] [stderr] 
[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<Message> = 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<Message> = r.msgs.drain(..).collect();
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Result::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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::<T, E>::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: 21 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.42s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/libraft-afb1f85c3174dfb6)
[INFO] [stdout] test storage::test::test_storage_first_index ... ok
[INFO] [stdout] test log_unstable::test::test_unstable_stable_to ... ok
[INFO] [stdout] test raft_log::test::test_is_up_to_date ... ok
[INFO] [stdout] test raft_log::test::test_find_conflict ... ok
[INFO] [stdout] test raft_log::test::test_hast_next_ents ... ok
[INFO] [stdout] test raft_log::test::test_maybe_append ... ok
[INFO] [stdout] test raft_log::test::test_compaction_side_effects ... ok
[INFO] [stdout] test storage::test::test_storage_compact ... ok
[INFO] [stdout] test util::test::test_limit_size ... ok
[INFO] [stdout] test util::test::test_vote_msg_resp_type ... ok
[INFO] [stdout] test raft_log::test::test_term_with_unstable_snapshot ... ok
[INFO] [stdout] test util::test::test_is_response_msg ... ok
[INFO] [stdout] test storage::test::test_storage_last_index ... ok
[INFO] [stdout] test raft_log::test::test_next_ents ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test.rs (/opt/rustwide/target/debug/deps/test-879bfd969781d5a1)
[INFO] [stdout] 
[INFO] [stdout] running 140 tests
[INFO] [stdout] test cases::test_raft::test_become_snapshot ... ok
[INFO] [stdout] test cases::test_raft::test_become_replicate ... ok
[INFO] [stdout] test cases::test_raft::test_become_probe ... ok
[INFO] [stdout] test cases::test_raft::test_commit_after_remove_node ... ok
[INFO] [stdout] test cases::test_raft::test_all_server_step_down ... ok
[INFO] [stdout] test cases::test_raft::test_can_not_commit_without_new_term_entry ... ok
[INFO] [stdout] test cases::test_raft::test_commit ... ok
[INFO] [stdout] test cases::test_raft::test_candidate_reset_term_msg_app ... ok
[INFO] [stdout] test cases::test_raft::test_candidate_reset_term_msg_heartbeat ... ok
[INFO] [stdout] test cases::test_raft::test_add_node_check_quorum ... ok
[INFO] [stdout] test cases::test_raft::test_commit_without_new_term_entry ... ok
[INFO] [stdout] test cases::test_raft::test_disruptive_follower ... ok
[INFO] [stdout] test cases::test_raft::test_add_node ... ok
[INFO] [stdout] test cases::test_raft::test_disruptive_follower_pre_vote ... ok
[INFO] [stdout] test cases::test_raft::test_add_learner ... ok
[INFO] [stdout] test cases::test_raft::test_campaign_while_leader ... 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 ... ok
[INFO] [stdout] test cases::test_raft::test_leader_cycle ... ok
[INFO] [stdout] test cases::test_raft::test_handle_heartbeat_resp ... ok
[INFO] [stdout] test cases::test_raft::test_ignore_providing_snap ... ok
[INFO] [stdout] test cases::test_raft::test_leader_election_pre_vote ... ok
[INFO] [stdout] test cases::test_raft::test_handle_msg_app ... ok
[INFO] [stdout] test cases::test_raft::test_leader_cycle_pre_vote ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_to_non_existing_node ... ok
[INFO] [stdout] test cases::test_raft::test_leader_stepdown_when_quorum_active ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_ignore_proposal ... ok
[INFO] [stdout] test cases::test_raft::test_leader_superseding_with_check_quorum ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_after_snapshot ... ok
[INFO] [stdout] test cases::test_raft::test_leader_step_down_when_quorum_lost ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_back ... ok
[INFO] [stdout] test cases::test_raft::test_dueling_pre_candidates ... ok
[INFO] [stdout] test cases::test_raft::test_leader_election_overwrite_newer_logs ... ok
[INFO] [stdout] test cases::test_raft::test_leader_election_with_check_quorum ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_remove_node ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_timeout ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_second_transfer_to_another_node ... ok
[INFO] [stdout] test cases::test_raft::test_learner_log_replication ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_with_check_quorum ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_to_self ... ok
[INFO] [stdout] test cases::test_raft::test_non_promotable_voter_with_check_quorum ... ok
[INFO] [stdout] test cases::test_raft::test_pre_campaign_while_leader ... ok
[INFO] [stdout] test cases::test_raft::test_pre_vote_from_any_state ... ok
[INFO] [stdout] test cases::test_raft::test_node_with_smaller_term_can_complete_election ... ok
[INFO] [stdout] test cases::test_raft::test_learner_promotion ... 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_pre_vote_migration_can_complete_election ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_to_slow_follwer ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_to_up_to_date_node ... ok
[INFO] [stdout] test cases::test_raft::test_learner_election_timeout ... ok
[INFO] [stdout] test cases::test_raft::test_raft_frees_read_only_mem ... ok
[INFO] [stdout] test cases::test_raft::test_progress_maybe_decr ... ok
[INFO] [stdout] test cases::test_raft::test_new_leader_pending_conf ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_receive_higher_term ... ok
[INFO] [stdout] test cases::test_raft::test_progress_update ... ok
[INFO] [stdout] test cases::test_raft::test_progress_resume ... ok
[INFO] [stdout] test cases::test_raft::test_read_only_for_new_leader ... ok
[INFO] [stdout] test cases::test_raft::test_proposal_by_proxy ... ok
[INFO] [stdout] test cases::test_raft::test_pre_vote_with_split_vote ... ok
[INFO] [stdout] test cases::test_raft::test_pre_vote_migration_with_free_stuck_pre_candidate ... ok
[INFO] [stdout] test cases::test_raft::test_progress_is_paused ... ok
[INFO] [stdout] test cases::test_raft::test_promotable ... ok
[INFO] [stdout] test cases::test_raft::test_proposal ... ok
[INFO] [stdout] test cases::test_raft::test_msg_pre_vote ... ok
[INFO] [stdout] test cases::test_raft::test_progress_paused ... ok
[INFO] [stdout] test cases::test_raft::test_raft_nodes ... ok
[INFO] [stdout] test cases::test_raft::test_remove_node ... ok
[INFO] [stdout] test cases::test_raft::test_restore_from_snap_msg ... ok
[INFO] [stdout] test cases::test_raft::test_remove_learner ... ok
[INFO] [stdout] test cases::test_raft::test_read_only_option_leased ... ok
[INFO] [stdout] test cases::test_raft::test_restore_ignore_snapshot ... ok
[INFO] [stdout] test cases::test_raft::test_leader_transfer_second_transfer_to_same_node ... ok
[INFO] [stdout] test cases::test_raft::test_learner_can_not_vote ... ok
[INFO] [stdout] test cases::test_raft::test_provide_snap ... ok
[INFO] [stdout] test cases::test_raft::test_read_only_option_safe ... ok
[INFO] [stdout] test cases::test_raft::test_restore_invalid_learner ... ok
[INFO] [stdout] test cases::test_raft::test_single_node_committed ... ok
[INFO] [stdout] test cases::test_raft::test_step_config ... ok
[INFO] [stdout] test cases::test_raft::test_step_ignore_config ... ok
[INFO] [stdout] test cases::test_raft::test_step_ignore_old_term_msg ... ok
[INFO] [stdout] test cases::test_raft::test_progress_resume_by_heartbeat_resp ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_read_index ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_proposal_and_conf_change ... ok
[INFO] [stdout] test cases::test_raft::test_vote_from_any_state ... 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_paper::test_reject_stale_term_message ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_start_replication ... ok
[INFO] [stdout] test cases::test_raft_paper::test_start_as_follower ... 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_raft_snap::test_pending_snapshot_pause_replcation ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_restart ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_status ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_step ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_append_entries ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_check_msg_app ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_commit_entry ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_start_election ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_vote ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_acknowledge_commit ... ok
[INFO] [stdout] test cases::test_raft::test_leader_election ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_commit_entry ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_commit_preceding_entries ... ok
[INFO] [stdout] test cases::test_raft_snap::test_sending_snapshot_set_pending_snapshot ... ok
[INFO] [stdout] test cases::test_raft_snap::test_snapshot_abort ... ok
[INFO] [stdout] test cases::test_raft_snap::test_snapshot_failure ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_bcast_beat ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_update_term_from_message ... ok
[INFO] [stdout] test cases::test_raft::test_transfer_non_member ... ok
[INFO] [stdout] test cases::test_raft_snap::test_snapshot_succeed ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_proposal_add_duplicate_node ... ok
[INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_full ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_restart_from_snapshot ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_only_commit_log_from_current_term ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_election_in_one_round_rpc ... ok
[INFO] [stdout] test cases::test_raft::test_msg_app_resp_wait_reset ... ok
[INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_recv_heartbeat ... ok
[INFO] [stdout] test cases::test_raft::test_leader_election_overwrite_newer_logs_pre_vote ... ok
[INFO] [stdout] test cases::test_raft::test_learner_receive_snapshot ... ok
[INFO] [stdout] test cases::test_raft::test_single_node_candidate ... ok
[INFO] [stdout] test cases::test_raft::test_old_message ... ok
[INFO] [stdout] test cases::test_raft_paper::test_candidate_election_timeout_randomized ... ok
[INFO] [stdout] test cases::test_raft::test_recv_msg_vote ... ok
[INFO] [stdout] test cases::test_raft::test_log_replication ... ok
[INFO] [stdout] test cases::test_raft::test_single_node_pre_candidate ... ok
[INFO] [stdout] test cases::test_raft::test_restore_learner_promotion ... ok
[INFO] [stdout] test cases::test_raft_paper::test_candidate_fallback ... ok
[INFO] [stdout] test cases::test_raft_paper::test_follower_election_timeout_randomized ... ok
[INFO] [stdout] test cases::test_raft::test_past_election_timeout ... ok
[INFO] [stdout] test cases::test_raft_paper::test_candidate_update_term_from_message ... ok
[INFO] [stdout] test cases::test_raft::test_slow_node_restore ... ok
[INFO] [stdout] test cases::test_raft_paper::test_leader_sync_follower_log ... ok
[INFO] [stdout] test cases::test_raw_node::test_raw_node_start ... ok
[INFO] [stdout] test cases::test_raft::test_state_transition ... ok
[INFO] [stdout] test cases::test_raft_flow_control::test_msg_app_flow_control_move_forward ... ok
[INFO] [stderr]    Doc-tests libraft
[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] 
[INFO] [stdout] test result: ok. 140 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s
[INFO] [stdout] 
[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.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f24fa6fb2dd7d78dd943dc9c46e5588db5569c93b099d482ce41386007832c65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f24fa6fb2dd7d78dd943dc9c46e5588db5569c93b099d482ce41386007832c65", kill_on_drop: false }`
[INFO] [stdout] f24fa6fb2dd7d78dd943dc9c46e5588db5569c93b099d482ce41386007832c65
