[INFO] cloning repository https://github.com/paritytech/whisper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/paritytech/whisper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e68b28c0ff8cacfc160f8c5dbc8dc56182155c00
[INFO] testing paritytech/whisper against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparitytech%2Fwhisper" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/paritytech/whisper
[INFO] finished tweaking git repo https://github.com/paritytech/whisper
[INFO] tweaked toml for git repo https://github.com/paritytech/whisper written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/paritytech/whisper on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/paritytech/whisper 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-7-tc1/source/cli/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-7-tc1/source/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating git repository `https://github.com/paritytech/parity-ethereum.git`
[INFO] [stderr]     Updating git submodule `https://github.com/ethereum/tests.git`
[INFO] [stderr]     Updating git submodule `https://github.com/paritytech/wasm-tests`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/paritytech/rust-secp256k1`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded spin v0.5.0
[INFO] [stderr]   Downloaded rustc-hex v2.0.1
[INFO] [stderr]   Downloaded zeroize_derive v0.9.0
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded tiny-keccak v1.5.0
[INFO] [stderr]   Downloaded zeroize v0.9.2
[INFO] [stderr]   Downloaded parking_lot v0.8.0
[INFO] [stderr]   Downloaded rlp v0.4.0
[INFO] [stderr]   Downloaded impl-serde v0.2.0
[INFO] [stderr]   Downloaded stream-cipher v0.3.0
[INFO] [stderr]   Downloaded memzero v0.1.0
[INFO] [stderr]   Downloaded opaque-debug v0.2.2
[INFO] [stderr]   Downloaded parking_lot_core v0.5.0
[INFO] [stderr]   Downloaded rustc-hex v1.0.0
[INFO] [stderr]   Downloaded heapsize v0.4.2
[INFO] [stderr]   Downloaded tokio-uds v0.2.5
[INFO] [stderr]   Downloaded parity-bytes v0.1.0
[INFO] [stderr]   Downloaded timer v0.2.0
[INFO] [stderr]   Downloaded parity-snappy v0.1.0
[INFO] [stderr]   Downloaded xmltree v0.8.0
[INFO] [stderr]   Downloaded strsim v0.9.2
[INFO] [stderr]   Downloaded igd v0.9.0
[INFO] [stderr]   Downloaded slab v0.2.0
[INFO] [stderr]   Downloaded jsonrpc-pubsub v12.0.0
[INFO] [stderr]   Downloaded termion v1.5.3
[INFO] [stderr]   Downloaded humantime v1.2.0
[INFO] [stderr]   Downloaded docopt v1.1.0
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.15
[INFO] [stderr]   Downloaded parity-wordlist v1.3.0
[INFO] [stderr]   Downloaded aes v0.3.2
[INFO] [stderr]   Downloaded http v0.1.17
[INFO] [stderr]   Downloaded toml v0.5.1
[INFO] [stderr]   Downloaded aho-corasick v0.7.4
[INFO] [stderr]   Downloaded hyper v0.12.31
[INFO] [stderr]   Downloaded block-modes v0.3.3
[INFO] [stderr]   Downloaded regex-syntax v0.6.8
[INFO] [stderr]   Downloaded attohttpc v0.4.1
[INFO] [stderr]   Downloaded jsonrpc-http-server v12.0.0
[INFO] [stderr]   Downloaded derive_more v0.14.1
[INFO] [stderr]   Downloaded regex v1.1.9
[INFO] [stderr]   Downloaded h2 v0.1.25
[INFO] [stderr]   Downloaded block-padding v0.1.4
[INFO] [stderr]   Downloaded jsonrpc-core v12.0.0
[INFO] [stderr]   Downloaded lock_api v0.2.0
[INFO] [stderr]   Downloaded wincolor v1.0.1
[INFO] [stderr]   Downloaded keccak-hash v0.2.0
[INFO] [stderr]   Downloaded parity-path v0.1.1
[INFO] [stderr]   Downloaded bstr v0.2.1
[INFO] [stderr]   Downloaded utf8-ranges v1.0.3
[INFO] [stderr]   Downloaded globset v0.4.4
[INFO] [stderr]   Downloaded crossbeam-deque v0.6.3
[INFO] [stderr]   Downloaded hmac v0.7.0
[INFO] [stderr]   Downloaded static_assertions v0.2.5
[INFO] [stderr]   Downloaded fixed-hash v0.3.2
[INFO] [stderr]   Downloaded uint v0.7.1
[INFO] [stderr]   Downloaded jsonrpc-server-utils v12.0.0
[INFO] [stderr]   Downloaded tokio-fs v0.1.6
[INFO] [stderr]   Downloaded ipnetwork v0.12.8
[INFO] [stderr]   Downloaded edit-distance v2.1.0
[INFO] [stderr]   Downloaded parity-snappy-sys v0.1.2
[INFO] [stderr]   Downloaded hex v0.2.0
[INFO] [stderr]   Downloaded proc-macro-crate v0.1.4
[INFO] [stderr]   Downloaded clear_on_drop v0.2.3
[INFO] [stderr]   Downloaded parity-codec v3.5.4
[INFO] [stderr]   Downloaded ripemd160 v0.8.0
[INFO] [stderr]   Downloaded ordered-float v0.5.2
[INFO] [stderr]   Downloaded subtle v2.1.0
[INFO] [stderr]   Downloaded elastic-array v0.10.2
[INFO] [stderr]   Downloaded ethbloom v0.6.4
[INFO] [stderr]   Downloaded impl-rlp v0.2.0
[INFO] [stderr]   Downloaded parity-util-mem v0.1.0
[INFO] [stderr]   Downloaded cmake v0.1.40
[INFO] [stderr]   Downloaded scrypt v0.2.0
[INFO] [stderr]   Downloaded parity-crypto v0.4.0
[INFO] [stderr]   Downloaded impl-codec v0.2.0
[INFO] [stderr]   Downloaded primitive-types v0.3.0
[INFO] [stderr]   Downloaded ethereum-types v0.6.0
[INFO] [stderr]   Downloaded malloc_size_of_derive v0.1.0
[INFO] [stderr]   Downloaded ring v0.14.6
[INFO] [stderr]   Downloaded jsonrpc-derive v12.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 625092d69d075bec15e8e81f91b0001a8453bb60dd499e8e74d2febde7846c52
[INFO] running `Command { std: "docker" "start" "-a" "625092d69d075bec15e8e81f91b0001a8453bb60dd499e8e74d2febde7846c52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "625092d69d075bec15e8e81f91b0001a8453bb60dd499e8e74d2febde7846c52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "625092d69d075bec15e8e81f91b0001a8453bb60dd499e8e74d2febde7846c52", kill_on_drop: false }`
[INFO] [stdout] 625092d69d075bec15e8e81f91b0001a8453bb60dd499e8e74d2febde7846c52
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 618803a11e4ba38755220ca888d647225d4e053c92dbf961ea7b4609dcdc485c
[INFO] running `Command { std: "docker" "start" "-a" "618803a11e4ba38755220ca888d647225d4e053c92dbf961ea7b4609dcdc485c", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/cli/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]    Compiling serde v1.0.94
[INFO] [stderr]    Compiling rand_core v0.4.0
[INFO] [stderr]    Compiling cfg-if v0.1.9
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling futures v0.1.28
[INFO] [stderr]    Compiling cc v1.0.37
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.39
[INFO] [stderr]    Compiling crossbeam-utils v0.6.5
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling smallvec v0.6.10
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling heapsize v0.4.2
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling rustc-hex v2.0.1
[INFO] [stderr]    Compiling opaque-debug v0.2.2
[INFO] [stderr]    Compiling owning_ref v0.4.0
[INFO] [stderr]    Compiling block-padding v0.1.4
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling num_cpus v1.10.1
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling lock_api v0.1.5
[INFO] [stderr]    Compiling memoffset v0.2.1
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.7.1
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rlp v0.4.0
[INFO] [stderr]    Compiling static_assertions v0.2.5
[INFO] [stderr]    Compiling mio v0.6.19
[INFO] [stderr]    Compiling subtle v1.0.0
[INFO] [stderr]    Compiling tiny-keccak v1.5.0
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling impl-rlp v0.2.0
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling safemem v0.3.0
[INFO] [stderr]    Compiling lock_api v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling uint v0.7.1
[INFO] [stderr]    Compiling fixed-hash v0.3.2
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling block-cipher-trait v0.6.2
[INFO] [stderr]    Compiling tokio-executor v0.1.8
[INFO] [stderr]    Compiling tokio-io v0.1.12
[INFO] [stderr]    Compiling tokio-sync v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling crypto-mac v0.7.0
[INFO] [stderr]    Compiling aes-soft v0.3.3
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling sha2 v0.8.0
[INFO] [stderr]    Compiling hmac v0.7.0
[INFO] [stderr]    Compiling stream-cipher v0.3.0
[INFO] [stderr]    Compiling cmake v0.1.40
[INFO] [stderr]    Compiling crossbeam-queue v0.1.2
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling ctr v0.3.2
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling eth-secp256k1 v0.5.7 (https://github.com/paritytech/rust-secp256k1#9791e79f)
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling aes-ctr v0.3.0
[INFO] [stderr]    Compiling aes v0.3.2
[INFO] [stderr]    Compiling tokio-threadpool v0.1.15
[INFO] [stderr]    Compiling pbkdf2 v0.3.0
[INFO] [stderr]    Compiling ripemd160 v0.8.0
[INFO] [stderr]    Compiling tokio-timer v0.2.11
[INFO] [stderr]    Compiling tokio-current-thread v0.1.6
[INFO] [stderr]    Compiling block-modes v0.3.3
[INFO] [stderr]    Compiling parity-snappy-sys v0.1.2
[INFO] [stderr]    Compiling clear_on_drop v0.2.3
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling tokio-fs v0.1.6
[INFO] [stderr]    Compiling memzero v0.1.0
[INFO] [stderr]    Compiling subtle v2.1.0
[INFO] [stderr]    Compiling parity-wordlist v1.3.0
[INFO] [stderr]    Compiling crossbeam-deque v0.6.3
[INFO] [stderr]    Compiling ring v0.14.6
[INFO] [stderr]    Compiling scrypt v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.7
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling impl-serde v0.2.0
[INFO] [stderr]    Compiling parity-codec v3.5.4
[INFO] [stderr]    Compiling toml v0.5.1
[INFO] [stderr]    Compiling parity-crypto v0.4.0
[INFO] [stderr]    Compiling serde_json v1.0.40
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling edit-distance v2.1.0
[INFO] [stderr]    Compiling rustc-hex v1.0.0
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling ethbloom v0.6.4
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling elastic-array v0.10.2
[INFO] [stderr]    Compiling spin v0.5.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling untrusted v0.6.2
[INFO] [stderr]    Compiling ipnetwork v0.12.8
[INFO] [stderr]    Compiling ordered-float v0.5.2
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling time-utils v0.1.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling timer v0.2.0
[INFO] [stderr]    Compiling hex v0.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]    Compiling impl-codec v0.2.0
[INFO] [stderr]    Compiling primitive-types v0.3.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.4
[INFO] [stderr]    Compiling parking_lot v0.7.1
[INFO] [stderr]    Compiling tokio-reactor v0.1.9
[INFO] [stderr]    Compiling tokio-tcp v0.1.3
[INFO] [stderr]    Compiling tokio-udp v0.1.3
[INFO] [stderr]    Compiling tokio-uds v0.2.5
[INFO] [stderr]    Compiling ethereum-types v0.6.0
[INFO] [stderr]    Compiling tokio v0.1.22
[INFO] [stderr]    Compiling ethcore-io v1.12.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.94
[INFO] [stderr]    Compiling derive_more v0.14.1
[INFO] [stderr]    Compiling jsonrpc-derive v12.0.0
[INFO] [stderr]    Compiling zeroize_derive v0.9.0
[INFO] [stderr]    Compiling malloc_size_of_derive v0.1.0
[INFO] [stderr]    Compiling parity-util-mem v0.1.0
[INFO] [stderr]    Compiling zeroize v0.9.2
[INFO] [stderr]    Compiling parity-snappy v0.1.0
[INFO] [stderr]    Compiling ethkey v0.3.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling jsonrpc-core v12.0.0
[INFO] [stderr]    Compiling ethcore-network v1.12.0 (https://github.com/paritytech/parity-ethereum.git#fe7bc545)
[INFO] [stderr]    Compiling jsonrpc-pubsub v12.0.0
[INFO] [stderr]    Compiling parity-whisper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[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] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[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] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[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/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` 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: `#[warn(non_local_definitions)]` on by default
[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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.01s
[INFO] running `Command { std: "docker" "inspect" "618803a11e4ba38755220ca888d647225d4e053c92dbf961ea7b4609dcdc485c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "618803a11e4ba38755220ca888d647225d4e053c92dbf961ea7b4609dcdc485c", kill_on_drop: false }`
[INFO] [stdout] 618803a11e4ba38755220ca888d647225d4e053c92dbf961ea7b4609dcdc485c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fed9f8e5a8b8e8c42587532cff5b8a85819dba55c01ae34c24966b0e5a64e672
[INFO] running `Command { std: "docker" "start" "-a" "fed9f8e5a8b8e8c42587532cff5b8a85819dba55c01ae34c24966b0e5a64e672", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/cli/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[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] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[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] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[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/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` 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: `#[warn(non_local_definitions)]` on by default
[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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` 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] [stderr]    Compiling parity-whisper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stdout]   --> src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 name: `time_checked_add`
[INFO] [stdout]   --> src/message.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[cfg(not(time_checked_add))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethereum_types::H256`
[INFO] [stdout]    --> src/message.rs:464:6
[INFO] [stdout]     |
[INFO] [stdout] 464 |     use ethereum_types::H256;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:389:28
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stdout]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:391:25
[INFO] [stdout]     |
[INFO] [stdout] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stdout]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stdout]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:29
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:395:41
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stdout]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:25
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/net/mod.rs:397:29
[INFO] [stdout]     |
[INFO] [stdout] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stdout]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/rpc/payload.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / bitflags! {
[INFO] [stdout] 46 | |     struct Flags: u8 {
[INFO] [stdout] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stdout] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stdout] ...  |
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |         0 ... 8 => Some(1),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |         0 ... 16 => Some(2),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rpc/payload.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |         0 ... 24 => Some(3),
[INFO] [stdout]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:92:24
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/rpc/mod.rs:96:23
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:100:24
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:138:69
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/rpc/mod.rs:143:48
[INFO] [stdout]     |
[INFO] [stdout] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:689:28
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &NetworkContext) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:695:22
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:699:27
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:704:31
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:708:25
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stdout]     |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:722:29
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:724:23
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:726:28
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:728:31
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/net/mod.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rpc/filter.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/mod.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[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] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rpc/payload.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[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] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[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/rpc/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stdout] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 150 | pub enum Receiver {
[INFO] [stdout]     |          -------- `Receiver` 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: `#[warn(non_local_definitions)]` on by default
[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/rpc/types.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stdout] 157 | pub struct PostRequest {
[INFO] [stdout]     |            ----------- `PostRequest` 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/rpc/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deserialize)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Deserialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stdout] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 194 | pub struct FilterRequest {
[INFO] [stdout]     |            ------------- `FilterRequest` 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/rpc/types.rs:210:10
[INFO] [stdout]     |
[INFO] [stdout] 210 | #[derive(Serialize, Clone)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stdout] 211 | pub struct FilterItem {
[INFO] [stdout]     |            ---------- `FilterItem` 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/rpc/types.rs:239:10
[INFO] [stdout]     |
[INFO] [stdout] 239 | #[derive(Serialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stdout] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stdout] 241 | pub struct NodeInfo {
[INFO] [stdout]     |            -------- `NodeInfo` 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.30s
[INFO] running `Command { std: "docker" "inspect" "fed9f8e5a8b8e8c42587532cff5b8a85819dba55c01ae34c24966b0e5a64e672", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fed9f8e5a8b8e8c42587532cff5b8a85819dba55c01ae34c24966b0e5a64e672", kill_on_drop: false }`
[INFO] [stdout] fed9f8e5a8b8e8c42587532cff5b8a85819dba55c01ae34c24966b0e5a64e672
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c3c0dbd6caa0fe987028a413765a3b68b23b6154ff63f83e193d3ebed9ebc17f
[INFO] running `Command { std: "docker" "start" "-a" "c3c0dbd6caa0fe987028a413765a3b68b23b6154ff63f83e193d3ebed9ebc17f", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/cli/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unexpected `cfg` condition value: `time_checked_add`
[INFO] [stderr]   --> src/lib.rs:20:13
[INFO] [stderr]    |
[INFO] [stderr] 20 | #![cfg_attr(feature = "time_checked_add", feature(time_checked_add))]
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `time_checked_add` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `time_checked_add`
[INFO] [stderr]   --> src/lib.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[cfg(not(time_checked_add))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/rpc/types.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:156:10
[INFO] [stderr]     |
[INFO] [stderr] 156 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 | #[derive(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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:210:10
[INFO] [stderr]     |
[INFO] [stderr] 210 | #[derive(Serialize, Clone)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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/rpc/types.rs:239:10
[INFO] [stderr]     |
[INFO] [stderr] 239 | #[derive(Serialize)]
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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 name: `time_checked_add`
[INFO] [stderr]   --> src/message.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[cfg(not(time_checked_add))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(time_checked_add)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(time_checked_add)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:389:28
[INFO] [stderr]     |
[INFO] [stderr] 389 |     fn disconnect_peer(&self, PeerId);
[INFO] [stderr]     |                               ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:391:25
[INFO] [stderr]     |
[INFO] [stderr] 391 |     fn disable_peer(&self, PeerId);
[INFO] [stderr]     |                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:393:21
[INFO] [stderr]     |
[INFO] [stderr] 393 |     fn node_key(&self, PeerId) -> Option<NodeId>;
[INFO] [stderr]     |                        ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:395:29
[INFO] [stderr]     |
[INFO] [stderr] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stderr]     |                                ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: ProtocolId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:395:41
[INFO] [stderr]     |
[INFO] [stderr] 395 |     fn protocol_version(&self, ProtocolId, PeerId) -> Option<u8>;
[INFO] [stderr]     |                                            ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:17
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                    ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PeerId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:25
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                            ^^ help: try naming the parameter or explicitly ignoring it: `_: u8`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/net/mod.rs:397:29
[INFO] [stderr]     |
[INFO] [stderr] 397 |     fn send(&self, PeerId, u8, Vec<u8>);
[INFO] [stderr]     |                                ^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<u8>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/rpc/payload.rs:45:1
[INFO] [stderr]    |
[INFO] [stderr] 45 | / bitflags! {
[INFO] [stderr] 46 | |     struct Flags: u8 {
[INFO] [stderr] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stderr] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/rpc/payload.rs:45:1
[INFO] [stderr]    |
[INFO] [stderr] 45 | / bitflags! {
[INFO] [stderr] 46 | |     struct Flags: u8 {
[INFO] [stderr] 47 | |         const FLAG_PAD_LEN_HIGH = 0b10000000;
[INFO] [stderr] 48 | |         const FLAG_PAD_LEN_LOW  = 0b01000000;
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__impl_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |         0 ... 8 => Some(1),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |         0 ... 16 => Some(2),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/rpc/payload.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |         0 ... 24 => Some(3),
[INFO] [stderr]    |           ^^^ help: use `..=` for an inclusive range
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:84:28
[INFO] [stderr]    |
[INFO] [stderr] 84 |     fn add_private_key(&self, types::Private) -> Result<types::Identity, Error>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Private`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:92:24
[INFO] [stderr]    |
[INFO] [stderr] 92 |     fn add_sym_key(&self, types::Symmetric) -> Result<types::Identity, Error>;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Symmetric`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/rpc/mod.rs:96:23
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn get_public(&self, types::Identity) -> Result<types::Public, Error>;
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:100:24
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn get_private(&self, types::Identity) -> Result<types::Private, Error>;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:104:26
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn get_symmetric(&self, types::Identity) -> Result<types::Symmetric, Error>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:111:23
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn remove_key(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:115:17
[INFO] [stderr]     |
[INFO] [stderr] 115 |     fn post(&self, types::PostRequest) -> Result<bool, Error>;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::PostRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:119:23
[INFO] [stderr]     |
[INFO] [stderr] 119 |     fn new_filter(&self, types::FilterRequest) -> Result<types::Identity, Error>;
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:123:25
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn poll_changes(&self, types::Identity) -> Result<Vec<types::FilterItem>, Error>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:127:26
[INFO] [stderr]     |
[INFO] [stderr] 127 |     fn delete_filter(&self, types::Identity) -> Result<bool, Error>;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::Identity`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:22
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Metadata`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:38
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Subscriber<types::FilterItem>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:138:69
[INFO] [stderr]     |
[INFO] [stderr] 138 |     fn subscribe(&self, Self::Metadata, Subscriber<types::FilterItem>, types::FilterRequest);
[INFO] [stderr]     |                                                                        ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: types::FilterRequest`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:143:24
[INFO] [stderr]     |
[INFO] [stderr] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Self::Metadata>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/rpc/mod.rs:143:48
[INFO] [stderr]     |
[INFO] [stderr] 143 |     fn unsubscribe(&self, Option<Self::Metadata>, SubscriptionId) -> Result<bool, Error>;
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: SubscriptionId`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/rpc/filter.rs:51:29
[INFO] [stderr]    |
[INFO] [stderr] 51 |     tx: Mutex<mpsc::Sender<Box<Fn() + Send>>>,
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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] 51 |     tx: Mutex<mpsc::Sender<Box<dyn Fn() + Send>>>,
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:689:28
[INFO] [stderr]     |
[INFO] [stderr] 689 |     fn initialize(&self, io: &NetworkContext) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 689 |     fn initialize(&self, io: &dyn NetworkContext) {
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:695:22
[INFO] [stderr]     |
[INFO] [stderr] 695 |     fn read(&self, io: &NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 695 |     fn read(&self, io: &dyn NetworkContext, peer: &PeerId, packet_id: u8, data: &[u8]) {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:699:27
[INFO] [stderr]     |
[INFO] [stderr] 699 |     fn connected(&self, io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 699 |     fn connected(&self, io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:704:31
[INFO] [stderr]     |
[INFO] [stderr] 704 |     fn disconnected(&self, _io: &NetworkContext, peer: &PeerId) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 704 |     fn disconnected(&self, _io: &dyn NetworkContext, peer: &PeerId) {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:708:25
[INFO] [stderr]     |
[INFO] [stderr] 708 |     fn timeout(&self, io: &NetworkContext, timer: TimerToken) {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 708 |     fn timeout(&self, io: &dyn NetworkContext, timer: TimerToken) {
[INFO] [stderr]     |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:722:29
[INFO] [stderr]     |
[INFO] [stderr] 722 |     fn initialize(&self, _io: &NetworkContext) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 722 |     fn initialize(&self, _io: &dyn NetworkContext) { }
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:724:23
[INFO] [stderr]     |
[INFO] [stderr] 724 |     fn read(&self, _io: &NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 724 |     fn read(&self, _io: &dyn NetworkContext, _peer: &PeerId, _id: u8, _msg: &[u8]) { }
[INFO] [stderr]     |                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:726:28
[INFO] [stderr]     |
[INFO] [stderr] 726 |     fn connected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 726 |     fn connected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:728:31
[INFO] [stderr]     |
[INFO] [stderr] 728 |     fn disconnected(&self, _io: &NetworkContext, _peer: &PeerId) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 728 |     fn disconnected(&self, _io: &dyn NetworkContext, _peer: &PeerId) { }
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/net/mod.rs:730:26
[INFO] [stderr]     |
[INFO] [stderr] 730 |     fn timeout(&self, _io: &NetworkContext, _timer: TimerToken) { }
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 730 |     fn timeout(&self, _io: &dyn NetworkContext, _timer: TimerToken) { }
[INFO] [stderr]     |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/rpc/filter.rs:60:38
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let (tx, rx) = mpsc::channel::<Box<Fn() + Send>>();
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let (tx, rx) = mpsc::channel::<Box<dyn Fn() + Send>>();
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/net/mod.rs:294:10
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn iter(&self) -> ::slab::Iter<Message, usize> {
[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] 294 |     fn iter(&self) -> ::slab::Iter<'_, Message, usize> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rpc/payload.rs:169:24
[INFO] [stderr]     |
[INFO] [stderr] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded, &'static str> {
[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] 169 | pub fn decode(payload: &[u8]) -> Result<Decoded<'_>, &'static str> {
[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/rpc/types.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Receiver`
[INFO] [stderr] 149 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 150 | pub enum Receiver {
[INFO] [stderr]     |          -------- `Receiver` 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: `#[warn(non_local_definitions)]` on by default
[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/rpc/types.rs:156:10
[INFO] [stderr]     |
[INFO] [stderr] 156 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PostRequest`
[INFO] [stderr] 157 | pub struct PostRequest {
[INFO] [stderr]     |            ----------- `PostRequest` 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/rpc/types.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 | #[derive(Deserialize)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Deserialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FilterRequest`
[INFO] [stderr] 193 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 194 | pub struct FilterRequest {
[INFO] [stderr]     |            ------------- `FilterRequest` 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/rpc/types.rs:210:10
[INFO] [stderr]     |
[INFO] [stderr] 210 | #[derive(Serialize, Clone)]
[INFO] [stderr]     |          ^--------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Serialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FilterItem`
[INFO] [stderr] 211 | pub struct FilterItem {
[INFO] [stderr]     |            ---------- `FilterItem` 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/rpc/types.rs:239:10
[INFO] [stderr]     |
[INFO] [stderr] 239 | #[derive(Serialize)]
[INFO] [stderr]     |          ^--------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Serialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeInfo`
[INFO] [stderr] 240 | #[serde(rename_all = "camelCase")]
[INFO] [stderr] 241 | pub struct NodeInfo {
[INFO] [stderr]     |            -------- `NodeInfo` 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: `parity-whisper` (lib) generated 56 warnings (1 duplicate) (run `cargo fix --lib -p parity-whisper` to apply 40 suggestions)
[INFO] [stderr] warning: unused import: `ethereum_types::H256`
[INFO] [stderr]    --> src/message.rs:464:6
[INFO] [stderr]     |
[INFO] [stderr] 464 |     use ethereum_types::H256;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `parity-whisper` (lib test) generated 57 warnings (56 duplicates) (run `cargo fix --lib -p parity-whisper --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/parity_whisper-271e85c0064834c7)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test aes_gcm::tests::aes_gcm_256 ... ok
[INFO] [stdout] test message::tests::work_factor ... ok
[INFO] [stdout] test message::tests::passes_checks ... ok
[INFO] [stdout] test message::tests::round_trip_multitopic ... ok
[INFO] [stdout] test message::tests::round_trip ... ok
[INFO] [stdout] test rpc::filter::tests::rejects_empty_topics ... ok
[INFO] [stdout] test rpc::payload::tests::encode_with_padding ... ok
[INFO] [stdout] test rpc::crypto::tests::encrypt_broadcast ... ok
[INFO] [stdout] test rpc::payload::tests::encode_decode_roundtrip ... ok
[INFO] [stdout] test rpc::types::tests::deserialize_topic ... ok
[INFO] [stdout] test rpc::types::tests::test_bytes_deserialize ... ok
[INFO] [stdout] test rpc::types::tests::test_bytes_serialize ... ok
[INFO] [stdout] test rpc::crypto::tests::encrypt_symmetric ... ok
[INFO] [stdout] test rpc::filter::tests::basic_match ... ok
[INFO] [stdout] test rpc::payload::tests::encode_empty ... ok
[INFO] [stdout] test rpc::payload::tests::padding_len_bytes_sanity ... ok
[INFO] [stdout] test net::tests::message_gets_relayed ... ok
[INFO] [stdout] test message::tests::create_message ... ok
[INFO] [stdout] test message::tests::pre_epoch - should panic ... ok
[INFO] [stdout] test message::tests::future_message - should panic ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'rpc::payload::tests::encode_with_padding_and_signature' (44) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:338:33:
[INFO] [stderr] unsafe precondition(s) violated: slice::get_unchecked_mut requires that the index is within the slice
[INFO] [stderr] 
[INFO] [stderr] This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety.
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5bf9553cb622 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5bf9553cb622 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5bf9553cb622 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x5bf9553cb622 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x5bf9553e077a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x5bf9553e077a - core[27de1724e4349be2]::fmt::write
[INFO] [stderr]    6:     0x5bf9553d12e6 - std[3b51380354919863]::io::default_write_fmt::<std[3b51380354919863]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x5bf9553d12e6 - <std[3b51380354919863]::sys::stdio::unix::Stderr as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stderr]    8:     0x5bf9553a9cef - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x5bf9553a9cef - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x5bf9553c3801 - std[3b51380354919863]::panicking::default_hook
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x5bf95527e47e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   12:     0x5bf95527e47e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x5bf9553c39f2 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   14:     0x5bf9553c39f2 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x5bf9553a9dda - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stderr]   16:     0x5bf95539eff9 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x5bf9553aabfd - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x5bf9553e0cad - core[27de1724e4349be2]::panicking::panic_nounwind_fmt::runtime
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x5bf9553e0cad - core[27de1724e4349be2]::panicking::panic_nounwind_fmt
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/intrinsics/mod.rs:2431:9
[INFO] [stderr]   20:     0x5bf9552d1f54 - <usize as core[27de1724e4349be2]::slice::index::SliceIndex<[_]>>::get_unchecked_mut::precondition_check
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ub_checks.rs:73:21
[INFO] [stderr]   21:     0x5bf9552d2179 - <usize as core[27de1724e4349be2]::slice::index::SliceIndex<[u8]>>::get_unchecked_mut
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ub_checks.rs:78:17
[INFO] [stderr]   22:     0x5bf9552cfa19 - <[u8]>::get_unchecked_mut::<usize>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/slice/mod.rs:690:30
[INFO] [stderr]   23:     0x5bf9552d0002 - <arrayvec[823e9290379ec1ae]::ArrayVec<[u8; 72usize]>>::pop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:338:33
[INFO] [stderr]   24:     0x5bf9552d0049 - <arrayvec[823e9290379ec1ae]::ArrayVec<[u8; 72usize]>>::clear
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:461:34
[INFO] [stderr]   25:     0x5bf9552d1f6b - <arrayvec[823e9290379ec1ae]::ArrayVec<[u8; 72usize]> as core[27de1724e4349be2]::ops::drop::Drop>::drop
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.4.10/src/lib.rs:96:14
[INFO] [stderr]   26:     0x5bf9552d276b - core[27de1724e4349be2]::ptr::drop_in_place::<arrayvec[823e9290379ec1ae]::ArrayVec<[u8; 72usize]>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ptr/mod.rs:805:1
[INFO] [stderr]   27:     0x5bf9552ce8f9 - <ethkey[e759a5ba38207a90]::keypair::KeyPair>::from_keypair
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/parity-ethereum-d44c542dfddf695b/fe7bc54/accounts/ethkey/src/keypair.rs:78:2
[INFO] [stderr]   28:     0x5bf9552cf9b7 - <rand_os[1467fa8c84c12253]::OsRng as ethkey[e759a5ba38207a90]::Generator>::generate
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/parity-ethereum-d44c542dfddf695b/fe7bc54/accounts/ethkey/src/random.rs:42:6
[INFO] [stderr]   29:     0x5bf9552cf651 - <ethkey[e759a5ba38207a90]::random::Random as ethkey[e759a5ba38207a90]::Generator>::generate
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/parity-ethereum-d44c542dfddf695b/fe7bc54/accounts/ethkey/src/random.rs:28:13
[INFO] [stderr]   30:     0x5bf9552446ed - parity_whisper[f656b452763fb80e]::rpc::payload::tests::encode_with_padding_and_signature
[INFO] [stderr]                                at /opt/rustwide/workdir/src/rpc/payload.rs:340:25
[INFO] [stderr]   31:     0x5bf955242c87 - parity_whisper[f656b452763fb80e]::rpc::payload::tests::encode_with_padding_and_signature::{closure#0}
[INFO] [stderr]                                at /opt/rustwide/workdir/src/rpc/payload.rs:339:40
[INFO] [stderr]   32:     0x5bf955246006 - <parity_whisper[f656b452763fb80e]::rpc::payload::tests::encode_with_padding_and_signature::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   33:     0x5bf95527282b - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   34:     0x5bf95527282b - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stderr]   35:     0x5bf95527f08a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stderr]   36:     0x5bf95527f08a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   37:     0x5bf95527f08a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stderr]   38:     0x5bf95527f08a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stderr]   39:     0x5bf95527f08a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stderr]   40:     0x5bf95527f08a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stderr]   41:     0x5bf95527f08a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stderr]   42:     0x5bf95527a634 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stderr]   43:     0x5bf95527a634 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   44:     0x5bf955281b82 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stderr]   45:     0x5bf955281b82 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   46:     0x5bf955281b82 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stderr]   47:     0x5bf955281b82 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stderr]   48:     0x5bf955281b82 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stderr]   49:     0x5bf955281b82 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stderr]   50:     0x5bf955281b82 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   51:     0x5bf9553caecf - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stderr]   52:     0x5bf9553caecf - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stderr]   53:     0x7df7fadddaa4 - <unknown>
[INFO] [stderr]   54:     0x7df7fae6aa64 - clone
[INFO] [stderr]   55:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/parity_whisper-271e85c0064834c7` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "c3c0dbd6caa0fe987028a413765a3b68b23b6154ff63f83e193d3ebed9ebc17f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3c0dbd6caa0fe987028a413765a3b68b23b6154ff63f83e193d3ebed9ebc17f", kill_on_drop: false }`
[INFO] [stdout] c3c0dbd6caa0fe987028a413765a3b68b23b6154ff63f83e193d3ebed9ebc17f
