[INFO] fetching crate raft-consensus 0.4.0... [INFO] checking raft-consensus-0.4.0 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate raft-consensus 0.4.0 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate raft-consensus 0.4.0 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate raft-consensus 0.4.0 [INFO] finished tweaking crates.io crate raft-consensus 0.4.0 [INFO] tweaked toml for crates.io crate raft-consensus 0.4.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 80 packages to latest compatible versions [INFO] [stderr] Adding ansi_term v0.11.0 (available: v0.12.1) [INFO] [stderr] Adding capnp v0.9.5 (available: v0.20.1) [INFO] [stderr] Adding capnpc v0.9.5 (available: v0.20.0) [INFO] [stderr] Adding env_logger v0.5.13 (available: v0.11.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding humantime v1.3.0 (available: v2.1.0) [INFO] [stderr] Adding pretty_env_logger v0.2.5 (available: v0.5.0) [INFO] [stderr] Adding quick-error v1.2.3 (available: v2.0.1) [INFO] [stderr] Adding rand v0.3.23 (available: v0.8.5) [INFO] [stderr] Adding rand v0.4.6 (available: v0.8.5) [INFO] [stderr] Adding rand_core v0.3.1 (available: v0.6.4) [INFO] [stderr] Adding rand_core v0.4.2 (available: v0.6.4) [INFO] [stderr] Adding rdrand v0.4.0 (available: v0.8.3) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.79) [INFO] [stderr] Adding synstructure v0.12.6 (available: v0.13.1) [INFO] [stderr] Adding uuid v0.5.1 (available: v1.10.0) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a03501a6fde9727b3b67de3e2e3043139bd709e5fce66dee167b814ce61d563b [INFO] running `Command { std: "docker" "start" "-a" "a03501a6fde9727b3b67de3e2e3043139bd709e5fce66dee167b814ce61d563b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a03501a6fde9727b3b67de3e2e3043139bd709e5fce66dee167b814ce61d563b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a03501a6fde9727b3b67de3e2e3043139bd709e5fce66dee167b814ce61d563b", kill_on_drop: false }` [INFO] [stdout] a03501a6fde9727b3b67de3e2e3043139bd709e5fce66dee167b814ce61d563b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00bebbf69da7f050054c18418c1c069384c3f5070e8b9311d08b3a47930d33ea [INFO] running `Command { std: "docker" "start" "-a" "00bebbf69da7f050054c18418c1c069384c3f5070e8b9311d08b3a47930d33ea", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking gimli v0.31.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling raft-consensus v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking uuid v0.5.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking addr2line v0.24.1 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking pretty_env_logger v0.2.5 [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/error.rs:11:3 [INFO] [stdout] | [INFO] [stdout] 11 | #[fail(display = "Consensus error")] [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ---- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | PersistentLog(Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | PersistentLog(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 13 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 13 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: derive helper attribute is used before it is introduced [INFO] [stdout] --> src/error.rs:11:3 [INFO] [stdout] | [INFO] [stdout] 11 | #[fail(display = "Consensus error")] [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ---- the attribute is introduced here [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79202 [INFO] [stdout] = note: `#[warn(legacy_derive_helpers)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/error.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | PersistentLog(Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | PersistentLog(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/consensus.rs:1112:24 [INFO] [stdout] | [INFO] [stdout] 1112 | for (peer, mut consensus) in self.peers.iter_mut() { [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/consensus.rs:1119:21 [INFO] [stdout] | [INFO] [stdout] 1119 | let mut entry = timeouts.entry(peer.clone()).or_insert(HashSet::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/consensus.rs:1132:21 [INFO] [stdout] | [INFO] [stdout] 1132 | let mut peer_consensus = self.peers.get_mut(&to).unwrap(); [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/consensus.rs:1141:21 [INFO] [stdout] | [INFO] [stdout] 1141 | let mut entry = timeouts [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 13 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Fail, Debug)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 13 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.36s [INFO] running `Command { std: "docker" "inspect" "00bebbf69da7f050054c18418c1c069384c3f5070e8b9311d08b3a47930d33ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00bebbf69da7f050054c18418c1c069384c3f5070e8b9311d08b3a47930d33ea", kill_on_drop: false }` [INFO] [stdout] 00bebbf69da7f050054c18418c1c069384c3f5070e8b9311d08b3a47930d33ea