[INFO] cloning repository https://github.com/jelford/rumour [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jelford/rumour" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelford%2Frumour", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelford%2Frumour'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0421deff9e8bc251ebff1c54afa09ab5051ae2c7 [INFO] testing jelford/rumour against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjelford%2Frumour" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jelford/rumour [INFO] finished tweaking git repo https://github.com/jelford/rumour [INFO] tweaked toml for git repo https://github.com/jelford/rumour written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jelford/rumour on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jelford/rumour already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-io v0.1.10 [INFO] [stderr] Downloaded tokio-reactor v0.1.7 [INFO] [stderr] Downloaded tokio-uds v0.2.4 [INFO] [stderr] Downloaded tokio-executor v0.1.5 [INFO] [stderr] Downloaded slab v0.4.1 [INFO] [stderr] Downloaded rand_chacha v0.1.0 [INFO] [stderr] Downloaded tokio-fs v0.1.4 [INFO] [stderr] Downloaded redox_syscall v0.1.50 [INFO] [stderr] Downloaded serde_derive v1.0.84 [INFO] [stderr] Downloaded bincode v0.8.0 [INFO] [stderr] Downloaded serde v1.0.84 [INFO] [stderr] Downloaded rand v0.4.3 [INFO] [stderr] Downloaded rand v0.6.1 [INFO] [stderr] Downloaded tokio v0.1.13 [INFO] [stderr] Downloaded tokio-threadpool v0.1.9 [INFO] [stderr] Downloaded tokio-core v0.1.17 [INFO] [stderr] Downloaded rustc-demangle v0.1.11 [INFO] [stderr] Downloaded tokio-tcp v0.1.2 [INFO] [stderr] Downloaded rand_xorshift v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 472025c0ca613893413b86ddb34edb4af1105d3b892a50398c74ed1bb9bae995 [INFO] running `Command { std: "docker" "start" "-a" "472025c0ca613893413b86ddb34edb4af1105d3b892a50398c74ed1bb9bae995", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "472025c0ca613893413b86ddb34edb4af1105d3b892a50398c74ed1bb9bae995", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "472025c0ca613893413b86ddb34edb4af1105d3b892a50398c74ed1bb9bae995", kill_on_drop: false }` [INFO] [stdout] 472025c0ca613893413b86ddb34edb4af1105d3b892a50398c74ed1bb9bae995 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10c938a64215f9acce5f716485ca3cf38770f8f82f4045c870adfd701251e586 [INFO] running `Command { std: "docker" "start" "-a" "10c938a64215f9acce5f716485ca3cf38770f8f82f4045c870adfd701251e586", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.45 [INFO] [stderr] Compiling cfg-if v0.1.6 [INFO] [stderr] Compiling rand_core v0.3.0 [INFO] [stderr] Compiling futures v0.1.25 [INFO] [stderr] Compiling lazy_static v1.2.0 [INFO] [stderr] Compiling byteorder v1.2.7 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling slab v0.4.1 [INFO] [stderr] Compiling stable_deref_trait v1.1.1 [INFO] [stderr] Compiling lazycell v1.2.1 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling proc-macro2 v0.4.24 [INFO] [stderr] Compiling cc v1.0.28 [INFO] [stderr] Compiling autocfg v0.1.1 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Compiling rand_pcg v0.1.1 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling crossbeam-utils v0.6.3 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling owning_ref v0.4.0 [INFO] [stderr] Compiling rand_chacha v0.1.0 [INFO] [stderr] Compiling rand v0.6.1 [INFO] [stderr] Compiling rand_core v0.2.2 [INFO] [stderr] Compiling smallvec v0.6.7 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.0 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling regex v1.1.0 [INFO] [stderr] Compiling lock_api v0.1.5 [INFO] [stderr] Compiling crossbeam-epoch v0.7.0 [INFO] [stderr] Compiling backtrace v0.3.13 [INFO] [stderr] Compiling ucd-util v0.1.3 [INFO] [stderr] Compiling memchr v2.1.2 [INFO] [stderr] Compiling serde v1.0.84 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling rustc-demangle v0.1.11 [INFO] [stderr] Compiling regex-syntax v0.6.4 [INFO] [stderr] Compiling scoped-tls v0.1.2 [INFO] [stderr] Compiling crossbeam-deque v0.6.3 [INFO] [stderr] Compiling utf8-ranges v1.0.2 [INFO] [stderr] Compiling slab v0.3.0 [INFO] [stderr] Compiling humantime v1.2.0 [INFO] [stderr] Compiling textwrap v0.10.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling log v0.3.9 [INFO] [stderr] Compiling take v0.1.0 [INFO] [stderr] Compiling termcolor v1.0.4 [INFO] [stderr] Compiling smallvec v0.2.1 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling iovec v0.1.2 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling num_cpus v1.9.0 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Compiling quote v0.6.10 [INFO] [stderr] Compiling bytes v0.4.11 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling rand v0.4.3 [INFO] [stderr] Compiling clap v2.32.0 [INFO] [stderr] Compiling syn v0.15.23 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling mio v0.6.16 [INFO] [stderr] Compiling aho-corasick v0.6.9 [INFO] [stderr] Compiling rand v0.3.22 [INFO] [stderr] Compiling tokio-executor v0.1.5 [INFO] [stderr] Compiling tokio-io v0.1.10 [INFO] [stderr] Compiling tokio-service v0.1.0 [INFO] [stderr] Compiling tokio-timer v0.1.2 [INFO] [stderr] Compiling parking_lot v0.6.4 [INFO] [stderr] Compiling tokio-threadpool v0.1.9 [INFO] [stderr] Compiling tokio-timer v0.2.8 [INFO] [stderr] Compiling mio-uds v0.6.7 [INFO] [stderr] Compiling tokio-current-thread v0.1.4 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling tokio-reactor v0.1.7 [INFO] [stderr] Compiling tokio-codec v0.1.1 [INFO] [stderr] Compiling tokio-fs v0.1.4 [INFO] [stderr] Compiling serde_derive v1.0.84 [INFO] [stderr] Compiling tokio-udp v0.1.3 [INFO] [stderr] Compiling tokio-tcp v0.1.2 [INFO] [stderr] Compiling tokio-uds v0.2.4 [INFO] [stderr] Compiling tokio v0.1.13 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling tokio-core v0.1.17 [INFO] [stderr] Compiling tokio-proto v0.1.1 [INFO] [stderr] Compiling bincode v0.8.0 [INFO] [stderr] Compiling rumour v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:16:77 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:17:92 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:20:50 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:86:50 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | errors { [INFO] [stdout] 4 | | BadPortSpecified { [INFO] [stdout] 5 | | description("Bad port specified") [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/node_state.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | observer: 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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | observer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:99:26 [INFO] [stdout] | [INFO] [stdout] 99 | _on_node_joined: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 99 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | _on_node_dead: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:104:26 [INFO] [stdout] | [INFO] [stdout] 104 | _on_node_joined: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 104 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | _on_node_dead: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mill.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | observer: 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] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | observer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:133:58 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn on_node_joined(mut self, joined_callback: &'a Fn() ->()) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | pub fn on_node_joined(mut self, joined_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:138:54 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn on_node_dead(mut self, dead_callback: &'a Fn() ->()) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 | pub fn on_node_dead(mut self, dead_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/node_state.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/errors.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | errors { [INFO] [stdout] 4 | | BadPortSpecified { [INFO] [stdout] 5 | | description("Bad port specified") [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeState` is never constructed [INFO] [stdout] --> src/node/mill.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct NodeState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_live_nodes` and `get_suspect_nodes` are never used [INFO] [stdout] --> src/node/mill.rs:88:16 [INFO] [stdout] | [INFO] [stdout] 85 | / impl <'a, RSender, TRequester> RumourMill<'a, RSender, TRequester> [INFO] [stdout] 86 | | where RSender : MessageSender, TRequester : TimeoutRequester { [INFO] [stdout] | |________________________________________________________________- methods in this implementation [INFO] [stdout] 87 | [INFO] [stdout] 88 | pub fn get_live_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_suspect_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_live_nodes` and `get_suspect_nodes` are never used [INFO] [stdout] --> src/node/node_state.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 52 | impl <'a> NodeLivenessState<'a> { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 53 | pub(crate) fn get_live_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub(crate) fn get_suspect_nodes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_vec` is never used [INFO] [stdout] --> src/node/node_state.rs:183:4 [INFO] [stdout] | [INFO] [stdout] 183 | fn to_vec(s: &HashSet) -> Vec [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `bare_control_plain_message` and `new` are never used [INFO] [stdout] --> src/node/codec.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 25 | impl InboundMessage { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] 26 | [INFO] [stdout] 27 | pub(crate) fn bare_control_plain_message(from: SocketAddr, content: ControlRequest) -> InboundMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub(crate) fn new(from: SocketAddr, request: ControlRequest, rumours: Vec) -> InboundMessage { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `destination` is never used [INFO] [stdout] --> src/node/codec.rs:65:19 [INFO] [stdout] | [INFO] [stdout] 57 | impl OutboundMessage { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 65 | pub(crate) fn destination(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/node/node_state.rs:150:39 [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain{ [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain<'_, NodeId>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/node/node_state.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain<'_, NodeId> { [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/node/codec.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeId` [INFO] [stdout] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stdout] | ------ `NodeId` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeId` [INFO] [stdout] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stdout] | ------ `NodeId` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:16:77 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ---------- ^-------- [INFO] [stdout] | | | [INFO] [stdout] | | `Serialize` is not local [INFO] [stdout] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RumourList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ---------- ^---------- [INFO] [stdout] | | | [INFO] [stdout] | | `Deserialize` is not local [INFO] [stdout] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RumourList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | -------------- ^-------- [INFO] [stdout] | | | [INFO] [stdout] | | `Serialize` is not local [INFO] [stdout] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_KnownPeersList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:17:92 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | -------------- ^---------- [INFO] [stdout] | | | [INFO] [stdout] | | `Deserialize` is not local [INFO] [stdout] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KnownPeersList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MessageContent` [INFO] [stdout] 21 | pub(crate) enum MessageContent { [INFO] [stdout] | -------------- `MessageContent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:20:50 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MessageContent` [INFO] [stdout] 21 | pub(crate) enum MessageContent { [INFO] [stdout] | -------------- `MessageContent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ControlRequest` [INFO] [stdout] 76 | pub(crate) enum ControlRequest { [INFO] [stdout] | -------------- `ControlRequest` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ControlRequest` [INFO] [stdout] 76 | pub(crate) enum ControlRequest { [INFO] [stdout] | -------------- `ControlRequest` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rumour` [INFO] [stdout] 87 | pub(crate) enum Rumour { [INFO] [stdout] | ------ `Rumour` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:86:50 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rumour` [INFO] [stdout] 87 | pub(crate) enum Rumour { [INFO] [stdout] | ------ `Rumour` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/node/codec.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | panic!(format!("Bincode error: {}", msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 112 - panic!(format!("Bincode error: {}", msg)) [INFO] [stdout] 112 + panic!("Bincode error: {}", msg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.00s [INFO] running `Command { std: "docker" "inspect" "10c938a64215f9acce5f716485ca3cf38770f8f82f4045c870adfd701251e586", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10c938a64215f9acce5f716485ca3cf38770f8f82f4045c870adfd701251e586", kill_on_drop: false }` [INFO] [stdout] 10c938a64215f9acce5f716485ca3cf38770f8f82f4045c870adfd701251e586 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7d2ca2a06052f7576e31b9cb4626bfec184dd3b0216f6fcab1bb4822ead568d0 [INFO] running `Command { std: "docker" "start" "-a" "7d2ca2a06052f7576e31b9cb4626bfec184dd3b0216f6fcab1bb4822ead568d0", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling rumour v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:16:77 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:17:92 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:20:50 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/node/codec.rs:86:50 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | errors { [INFO] [stdout] 4 | | BadPortSpecified { [INFO] [stdout] 5 | | description("Bad port specified") [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/node_state.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | observer: 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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 37 | observer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:99:26 [INFO] [stdout] | [INFO] [stdout] 99 | _on_node_joined: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 99 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | _on_node_dead: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:104:26 [INFO] [stdout] | [INFO] [stdout] 104 | _on_node_joined: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 104 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | _on_node_dead: &'a Fn() -> (), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 105 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mill.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | observer: 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] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 49 | observer: Box, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:133:58 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn on_node_joined(mut self, joined_callback: &'a Fn() ->()) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | pub fn on_node_joined(mut self, joined_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/mod.rs:138:54 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn on_node_dead(mut self, dead_callback: &'a Fn() ->()) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 | pub fn on_node_dead(mut self, dead_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/node/node_state.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stdout] --> src/errors.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / error_chain! { [INFO] [stdout] 3 | | errors { [INFO] [stdout] 4 | | BadPortSpecified { [INFO] [stdout] 5 | | description("Bad port specified") [INFO] [stdout] ... | [INFO] [stdout] 18 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeState` is never constructed [INFO] [stdout] --> src/node/mill.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct NodeState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/node/node_state.rs:150:39 [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain{ [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain<'_, NodeId>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/node/node_state.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain<'_, NodeId> { [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/node/codec.rs:7:51 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeId` [INFO] [stdout] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stdout] | ------ `NodeId` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:7:62 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeId` [INFO] [stdout] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stdout] | ------ `NodeId` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:16:77 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ---------- ^-------- [INFO] [stdout] | | | [INFO] [stdout] | | `Serialize` is not local [INFO] [stdout] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RumourList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:16:88 [INFO] [stdout] | [INFO] [stdout] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | ---------- ^---------- [INFO] [stdout] | | | [INFO] [stdout] | | `Deserialize` is not local [INFO] [stdout] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RumourList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:17:81 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | -------------- ^-------- [INFO] [stdout] | | | [INFO] [stdout] | | `Serialize` is not local [INFO] [stdout] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_KnownPeersList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:17:92 [INFO] [stdout] | [INFO] [stdout] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stdout] | -------------- ^---------- [INFO] [stdout] | | | [INFO] [stdout] | | `Deserialize` is not local [INFO] [stdout] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KnownPeersList` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MessageContent` [INFO] [stdout] 21 | pub(crate) enum MessageContent { [INFO] [stdout] | -------------- `MessageContent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:20:50 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MessageContent` [INFO] [stdout] 21 | pub(crate) enum MessageContent { [INFO] [stdout] | -------------- `MessageContent` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:75:39 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ControlRequest` [INFO] [stdout] 76 | pub(crate) enum ControlRequest { [INFO] [stdout] | -------------- `ControlRequest` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ControlRequest` [INFO] [stdout] 76 | pub(crate) enum ControlRequest { [INFO] [stdout] | -------------- `ControlRequest` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:86:39 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rumour` [INFO] [stdout] 87 | pub(crate) enum Rumour { [INFO] [stdout] | ------ `Rumour` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/node/codec.rs:86:50 [INFO] [stdout] | [INFO] [stdout] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rumour` [INFO] [stdout] 87 | pub(crate) enum Rumour { [INFO] [stdout] | ------ `Rumour` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/node/codec.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | panic!(format!("Bincode error: {}", msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 112 - panic!(format!("Bincode error: {}", msg)) [INFO] [stdout] 112 + panic!("Bincode error: {}", msg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.37s [INFO] running `Command { std: "docker" "inspect" "7d2ca2a06052f7576e31b9cb4626bfec184dd3b0216f6fcab1bb4822ead568d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d2ca2a06052f7576e31b9cb4626bfec184dd3b0216f6fcab1bb4822ead568d0", kill_on_drop: false }` [INFO] [stdout] 7d2ca2a06052f7576e31b9cb4626bfec184dd3b0216f6fcab1bb4822ead568d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 48636aaf7dcf3757d57ef4b27f92dc5611d78c7b3327598c5ec08f771092c04d [INFO] running `Command { std: "docker" "start" "-a" "48636aaf7dcf3757d57ef4b27f92dc5611d78c7b3327598c5ec08f771092c04d", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:7:51 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:7:62 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:16:77 [INFO] [stderr] | [INFO] [stderr] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:16:88 [INFO] [stderr] | [INFO] [stderr] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:17:81 [INFO] [stderr] | [INFO] [stderr] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:17:92 [INFO] [stderr] | [INFO] [stderr] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:20:39 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:20:50 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:75:39 [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:75:50 [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:86:39 [INFO] [stderr] | [INFO] [stderr] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stderr] --> src/node/codec.rs:86:50 [INFO] [stderr] | [INFO] [stderr] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stderr] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stderr] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | / error_chain! { [INFO] [stderr] 3 | | errors { [INFO] [stderr] 4 | | BadPortSpecified { [INFO] [stderr] 5 | | description("Bad port specified") [INFO] [stderr] ... | [INFO] [stderr] 18 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/node_state.rs:37:19 [INFO] [stderr] | [INFO] [stderr] 37 | observer: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 37 | observer: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:99:26 [INFO] [stderr] | [INFO] [stderr] 99 | _on_node_joined: &'a Fn() -> (), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 99 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | _on_node_dead: &'a Fn() -> (), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 100 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:104:26 [INFO] [stderr] | [INFO] [stderr] 104 | _on_node_joined: &'a Fn() -> (), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 104 | _on_node_joined: &'a dyn Fn() -> (), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | _on_node_dead: &'a Fn() -> (), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 105 | _on_node_dead: &'a dyn Fn() -> (), [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mill.rs:49:19 [INFO] [stderr] | [INFO] [stderr] 49 | observer: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 49 | observer: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:133:58 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn on_node_joined(mut self, joined_callback: &'a Fn() ->()) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 133 | pub fn on_node_joined(mut self, joined_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/mod.rs:138:54 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn on_node_dead(mut self, dead_callback: &'a Fn() ->()) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 | pub fn on_node_dead(mut self, dead_callback: &'a dyn Fn() ->()) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/node/node_state.rs:13:37 [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) fn new<'a>(observer: Box) -> NodeLivenessState<'a> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/errors.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | / error_chain! { [INFO] [stderr] 3 | | errors { [INFO] [stderr] 4 | | BadPortSpecified { [INFO] [stderr] 5 | | description("Bad port specified") [INFO] [stderr] ... | [INFO] [stderr] 18 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: struct `NodeState` is never constructed [INFO] [stderr] --> src/node/mill.rs:66:8 [INFO] [stderr] | [INFO] [stderr] 66 | struct NodeState { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/node/node_state.rs:150:39 [INFO] [stderr] | [INFO] [stderr] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain{ [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 150 | pub(crate) fn drain_pending_pings(&mut self) -> Drain<'_, NodeId>{ [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/node/node_state.rs:154:48 [INFO] [stderr] | [INFO] [stderr] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 154 | pub(crate) fn drain_pending_indirect_pings(&mut self) -> Drain<'_, NodeId> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:7:51 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeId` [INFO] [stderr] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stderr] | ------ `NodeId` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:7:62 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Debug, Hash, Eq, PartialEq, Copy, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeId` [INFO] [stderr] 8 | pub(crate) struct NodeId(pub SocketAddr); [INFO] [stderr] | ------ `NodeId` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:16:77 [INFO] [stderr] | [INFO] [stderr] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ---------- ^-------- [INFO] [stderr] | | | [INFO] [stderr] | | `Serialize` is not local [INFO] [stderr] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RumourList` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:16:88 [INFO] [stderr] | [INFO] [stderr] 16 | fixed_size_list!(RumourList: Rumour; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | ---------- ^---------- [INFO] [stderr] | | | [INFO] [stderr] | | `Deserialize` is not local [INFO] [stderr] | `RumourList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RumourList` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:17:81 [INFO] [stderr] | [INFO] [stderr] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | -------------- ^-------- [INFO] [stderr] | | | [INFO] [stderr] | | `Serialize` is not local [INFO] [stderr] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_KnownPeersList` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:17:92 [INFO] [stderr] | [INFO] [stderr] 17 | fixed_size_list!(KnownPeersList: NodeId; 5; derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)); [INFO] [stderr] | -------------- ^---------- [INFO] [stderr] | | | [INFO] [stderr] | | `Deserialize` is not local [INFO] [stderr] | `KnownPeersList` is not local move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KnownPeersList` [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:20:39 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MessageContent` [INFO] [stderr] 21 | pub(crate) enum MessageContent { [INFO] [stderr] | -------------- `MessageContent` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:20:50 [INFO] [stderr] | [INFO] [stderr] 20 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MessageContent` [INFO] [stderr] 21 | pub(crate) enum MessageContent { [INFO] [stderr] | -------------- `MessageContent` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:75:39 [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ControlRequest` [INFO] [stderr] 76 | pub(crate) enum ControlRequest { [INFO] [stderr] | -------------- `ControlRequest` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:75:50 [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ControlRequest` [INFO] [stderr] 76 | pub(crate) enum ControlRequest { [INFO] [stderr] | -------------- `ControlRequest` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:86:39 [INFO] [stderr] | [INFO] [stderr] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rumour` [INFO] [stderr] 87 | pub(crate) enum Rumour { [INFO] [stderr] | ------ `Rumour` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/node/codec.rs:86:50 [INFO] [stderr] | [INFO] [stderr] 86 | #[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize, Copy)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rumour` [INFO] [stderr] 87 | pub(crate) enum Rumour { [INFO] [stderr] | ------ `Rumour` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/node/codec.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | panic!(format!("Bincode error: {}", msg)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 112 - panic!(format!("Bincode error: {}", msg)) [INFO] [stderr] 112 + panic!("Bincode error: {}", msg) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `rumour` (bin "rumour" test) generated 39 warnings (run `cargo fix --bin "rumour" --tests` to apply 12 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rumour-930a9c128851d332) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test node::gossip::test::eventually_stops_spreaing_a_rumour ... ok [INFO] [stdout] test node::gossip::test::hearing_something_weve_heard_before_is_not_remembered ... ok [INFO] [stdout] test node::gossip::test::if_i_tell_it_a_rumour_then_i_can_retreive_that ... ok [INFO] [stdout] test node::mill::tests::health_check_pings_some_known_nodes ... ok [INFO] [stdout] test node::mill::tests::if_no_peers_then_failed_ping_still_results_in_node_suspected ... ok [INFO] [stdout] test node::mill::tests::node_can_pick_up_peer_join_through_control_plane_gossip ... ok [INFO] [stdout] test node::gossip::test::initially_no_rumours ... ok [INFO] [stdout] test node::mill::tests::observer_received_node_lifecycle_events ... ok [INFO] [stdout] test node::mill::tests::adds_joined_node_to_active_list_right_away ... ok [INFO] [stdout] test node::mill::tests::responds_to_ping ... ok [INFO] [stdout] test node::mill::tests::other_nodes_will_hear_about_membership_through_control_messages ... ok [INFO] [stdout] test node::mill::tests::once_node_is_dead_stop_gossipping_that_it_has_joined ... ok [INFO] [stdout] test node::mill::tests::remote_nodes_marked_live_when_join_ack_received ... ok [INFO] [stdout] test node::mill::tests::when_node_doesnt_respond_to_ping_or_ping_req_then_marked_as_suspect ... ok [INFO] [stdout] test node::mill::tests::acks_join_requests_with_any_known_nodes ... ok [INFO] [stdout] test node::mill::tests::do_join_schedules_a_health_check_timeout ... ok [INFO] [stdout] test node::mill::tests::when_node_doesnt_respond_to_ping_then_ping_req_sent ... ok [INFO] [stdout] test node::mill::tests::when_node_responds_to_ping_then_it_remains_healthy ... ok [INFO] [stdout] test node::mill::tests::after_node_has_been_suspect_on_timeout_remove_from_live_set ... ok [INFO] [stdout] test node::mill::tests::do_join_sends_join_messages_to_known_nodes ... ok [INFO] [stdout] test node::mill::tests::shows_self_as_active_from_the_start ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "48636aaf7dcf3757d57ef4b27f92dc5611d78c7b3327598c5ec08f771092c04d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48636aaf7dcf3757d57ef4b27f92dc5611d78c7b3327598c5ec08f771092c04d", kill_on_drop: false }` [INFO] [stdout] 48636aaf7dcf3757d57ef4b27f92dc5611d78c7b3327598c5ec08f771092c04d