[INFO] cloning repository https://github.com/dao-galaxy/bloom-p2p [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dao-galaxy/bloom-p2p" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdao-galaxy%2Fbloom-p2p", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdao-galaxy%2Fbloom-p2p'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 860c93bf42effdf45d87af5e4d6a54862f9523f2 [INFO] checking dao-galaxy/bloom-p2p against try#9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869 for pr-129249 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdao-galaxy%2Fbloom-p2p" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dao-galaxy/bloom-p2p on toolchain 9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dao-galaxy/bloom-p2p [INFO] finished tweaking git repo https://github.com/dao-galaxy/bloom-p2p [INFO] tweaked toml for git repo https://github.com/dao-galaxy/bloom-p2p written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/dao-galaxy/bloom-p2p 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" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-1-tc2/source/network/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b2b1f168b85ed16cb6c8e6737b69058022307d62b679d61fca5721f5663783f8 [INFO] running `Command { std: "docker" "start" "-a" "b2b1f168b85ed16cb6c8e6737b69058022307d62b679d61fca5721f5663783f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b2b1f168b85ed16cb6c8e6737b69058022307d62b679d61fca5721f5663783f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2b1f168b85ed16cb6c8e6737b69058022307d62b679d61fca5721f5663783f8", kill_on_drop: false }` [INFO] [stdout] b2b1f168b85ed16cb6c8e6737b69058022307d62b679d61fca5721f5663783f8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5bd375b33ccbc7bdfa429585f01c97dca10171259efd2373d361df884de9838f [INFO] running `Command { std: "docker" "start" "-a" "5bd375b33ccbc7bdfa429585f01c97dca10171259efd2373d361df884de9838f", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/network/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.30 [INFO] [stderr] Compiling serde v1.0.111 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking smallvec v1.4.0 [INFO] [stderr] Compiling memoffset v0.5.4 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Checking rustc-hex v2.1.0 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Compiling cc v1.0.41 [INFO] [stderr] Checking itoa v0.4.5 [INFO] [stderr] Checking crossbeam-queue v0.2.2 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Checking rlp v0.4.5 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking block-cipher-trait v0.6.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Checking crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Checking unicode-normalization v0.1.12 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Checking tiny-keccak v2.0.2 [INFO] [stderr] Checking impl-rlp v0.2.1 [INFO] [stderr] Checking bitvec v0.17.4 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking uint v0.8.3 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Checking aes-soft v0.3.3 [INFO] [stderr] Checking aho-corasick v0.7.10 [INFO] [stderr] Checking stream-cipher v0.3.2 [INFO] [stderr] Compiling quote v1.0.6 [INFO] [stderr] Compiling snap v1.0.0 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking ctr v0.3.2 [INFO] [stderr] Checking zeroize v1.1.0 [INFO] [stderr] Checking ripemd160 v0.8.0 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking block-modes v0.3.3 [INFO] [stderr] Checking semver-parser v0.7.0 [INFO] [stderr] Checking bytes v0.5.4 [INFO] [stderr] Checking aes v0.3.2 [INFO] [stderr] Checking aes-ctr v0.3.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.2 [INFO] [stderr] Checking adler32 v1.1.0 [INFO] [stderr] Checking gimli v0.21.0 [INFO] [stderr] Checking ipnetwork v0.12.8 [INFO] [stderr] Checking xml-rs v0.8.3 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Compiling proc-macro-error v1.0.2 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Checking base64 v0.12.1 [INFO] [stderr] Checking object v0.20.0 [INFO] [stderr] Checking linked-hash-map v0.5.3 [INFO] [stderr] Checking home v0.5.3 [INFO] [stderr] Checking xmltree v0.10.0 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking parity-path v0.1.3 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking bstr v0.2.13 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking parity-bytes v0.1.2 [INFO] [stderr] Checking unicode-width v0.1.7 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Compiling secp256k1-sys v0.1.2 [INFO] [stderr] Compiling natpmp v0.2.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.16 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Checking tokio-service v0.1.0 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Checking assert_matches v1.3.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking net2 v0.2.34 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking chrono v0.4.11 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking clap v2.33.1 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Compiling hex-literal-impl v0.2.2 [INFO] [stderr] Checking addr2line v0.12.2 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking timer v0.2.0 [INFO] [stderr] Checking fixed-hash v0.6.1 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking secp256k1 v0.17.2 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking globset v0.4.5 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking hex-literal v0.2.1 [INFO] [stderr] Checking backtrace v0.3.49 [INFO] [stderr] Checking enr v0.1.0 [INFO] [stderr] Checking pbkdf2 v0.3.0 [INFO] [stderr] Checking attohttpc v0.10.1 [INFO] [stderr] Checking scrypt v0.2.0 [INFO] [stderr] Checking igd v0.10.2 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling syn-mid v0.5.0 [INFO] [stderr] Checking ctrlc v3.1.4 [INFO] [stderr] Compiling serde_derive v1.0.111 [INFO] [stderr] Compiling derive_more v0.99.7 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Compiling structopt-derive v0.4.8 [INFO] [stderr] Checking structopt v0.3.15 [INFO] [stderr] Checking impl-serde v0.3.1 [INFO] [stderr] Checking parity-scale-codec v1.3.0 [INFO] [stderr] Checking serde_json v1.0.53 [INFO] [stderr] Checking semver v0.9.0 [INFO] [stderr] Checking ethbloom v0.9.2 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Checking jsonrpc-core v14.2.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking jsonrpc-pubsub v14.2.0 [INFO] [stderr] Checking jsonrpc-client-transports v14.2.0 [INFO] [stderr] Checking jsonrpc-core-client v14.2.0 [INFO] [stderr] Compiling proc-macro-crate v0.1.4 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Compiling jsonrpc-derive v14.2.1 [INFO] [stderr] Checking tokio-uds v0.2.6 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking impl-codec v0.4.2 [INFO] [stderr] Checking primitive-types v0.7.2 [INFO] [stderr] Checking ethcore-io v1.12.0 (/opt/rustwide/workdir/io) [INFO] [stderr] Checking jsonrpc-server-utils v14.2.0 [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> io/src/lib.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 215 | struct MyMessage { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 216 | data: u32 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> io/src/lib.rs:245:4 [INFO] [stdout] | [INFO] [stdout] 244 | struct MyMessage { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 245 | data: u32 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking jsonrpc-tcp-server v14.2.0 [INFO] [stderr] Checking ethereum-types v0.9.2 [INFO] [stderr] Checking keccak-hash v0.5.1 [INFO] [stderr] Checking parity-crypto v0.6.2 [INFO] [stderr] Checking ethcore-network v1.12.0 (/opt/rustwide/workdir/network) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network/src/client_version.rs:38:35 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Clone,Debug,PartialEq,Eq,Serialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ParityClientData` [INFO] [stdout] 39 | pub struct ParityClientData { [INFO] [stdout] | ---------------- `ParityClientData` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network/src/client_version.rs:101:35 [INFO] [stdout] | [INFO] [stdout] 101 | #[derive(Clone,Debug,Eq,PartialEq,Serialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientVersion` [INFO] [stdout] 102 | pub enum ClientVersion { [INFO] [stdout] | ------------- `ClientVersion` 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] Checking ethcore-network-devp2p v1.12.0 (/opt/rustwide/workdir/network-devp2p) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network/src/client_version.rs:38:35 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Clone,Debug,PartialEq,Eq,Serialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ParityClientData` [INFO] [stdout] 39 | pub struct ParityClientData { [INFO] [stdout] | ---------------- `ParityClientData` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network/src/client_version.rs:101:35 [INFO] [stdout] | [INFO] [stdout] 101 | #[derive(Clone,Debug,Eq,PartialEq,Serialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientVersion` [INFO] [stdout] 102 | pub enum ClientVersion { [INFO] [stdout] | ------------- `ClientVersion` 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: missing documentation for a module [INFO] [stdout] --> network/src/client_version.rs:249:1 [INFO] [stdout] | [INFO] [stdout] 249 | pub mod tests { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> network/src/client_version.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:303:2 [INFO] [stdout] | [INFO] [stdout] 303 | pub fn client_version_when_from_empty_string_then_default() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:310:2 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn get_number_from_version_when_valid_then_number() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:317:2 [INFO] [stdout] | [INFO] [stdout] 317 | pub fn client_version_when_str_parity_format_and_valid_then_all_fields_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:331:2 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn client_version_when_str_parity_long_format_and_valid_then_all_fields_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:346:2 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn client_version_when_str_parity_long_format_and_valid_and_identity_multiple_tokens_then_all_fields_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:361:2 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn client_version_when_string_parity_format_and_valid_then_all_fields_match() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:375:2 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn client_version_when_parity_format_and_invalid_then_equals_parity_unknown_client_version_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:392:2 [INFO] [stdout] | [INFO] [stdout] 392 | pub fn client_version_when_parity_format_without_identity_and_missing_compiler_field_then_equals_parity_unknown_client_version_stri... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:408:2 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn client_version_when_parity_format_with_identity_and_missing_compiler_field_then_equals_parity_unknown_client_version_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:425:2 [INFO] [stdout] | [INFO] [stdout] 425 | pub fn client_version_when_not_parity_format_and_valid_then_other_with_client_version_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:434:2 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn client_version_when_parity_format_and_valid_then_to_string_equal() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:443:2 [INFO] [stdout] | [INFO] [stdout] 443 | pub fn client_version_when_other_then_to_string_equal_input_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:452:2 [INFO] [stdout] | [INFO] [stdout] 452 | pub fn client_capabilities_when_parity_old_version_then_handles_large_requests_false() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:461:2 [INFO] [stdout] | [INFO] [stdout] 461 | pub fn client_capabilities_when_parity_beta_version_then_not_handles_large_requests_true() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a function [INFO] [stdout] --> network/src/client_version.rs:476:2 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn client_version_when_to_owned_then_both_objects_equal() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `protocol` is never read [INFO] [stdout] --> network-devp2p/src/connection.rs:265:6 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct Packet { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 265 | pub protocol: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `peer_type` is never read [INFO] [stdout] --> network-devp2p/src/node_table.rs:194:6 [INFO] [stdout] | [INFO] [stdout] 191 | pub struct Node { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 194 | pub peer_type: PeerType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:385:14 [INFO] [stdout] | [INFO] [stdout] 385 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:397:14 [INFO] [stdout] | [INFO] [stdout] 397 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:375:3 [INFO] [stdout] | [INFO] [stdout] 375 | &mut packet[..HEADER_LEN].copy_from_slice(&mut header); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 375 | let _ = &mut packet[..HEADER_LEN].copy_from_slice(&mut header); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:379:3 [INFO] [stdout] | [INFO] [stdout] 379 | &mut packet[32..32 + len].copy_from_slice(payload); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 379 | let _ = &mut packet[32..32 + len].copy_from_slice(payload); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:450:3 [INFO] [stdout] | [INFO] [stdout] 450 | &mut enc[..].copy_from_slice(prev.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 450 | let _ = &mut enc[..].copy_from_slice(prev.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `[u16; 8]` will be dropped [INFO] [stdout] --> network-devp2p/src/node_table.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | let o: *const u8 = a.ip().segments().as_ptr() as *const u8; [INFO] [stdout] | ----------------- ^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `[u16; 8]` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `[u16; 8]` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [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] --> network-devp2p/src/node_table.rs:547:11 [INFO] [stdout] | [INFO] [stdout] 547 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeTable` [INFO] [stdout] 548 | pub struct NodeTable { [INFO] [stdout] | --------- `NodeTable` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network-devp2p/src/node_table.rs:547:22 [INFO] [stdout] | [INFO] [stdout] 547 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeTable` [INFO] [stdout] 548 | pub struct NodeTable { [INFO] [stdout] | --------- `NodeTable` 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] --> network-devp2p/src/node_table.rs:552:11 [INFO] [stdout] | [INFO] [stdout] 552 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeContact` [INFO] [stdout] 553 | pub enum NodeContact { [INFO] [stdout] | ----------- `NodeContact` 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] --> network-devp2p/src/node_table.rs:552:22 [INFO] [stdout] | [INFO] [stdout] 552 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeContact` [INFO] [stdout] 553 | pub enum NodeContact { [INFO] [stdout] | ----------- `NodeContact` 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] --> network-devp2p/src/node_table.rs:573:11 [INFO] [stdout] | [INFO] [stdout] 573 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Node` [INFO] [stdout] 574 | pub struct Node { [INFO] [stdout] | ---- `Node` 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] --> network-devp2p/src/node_table.rs:573:22 [INFO] [stdout] | [INFO] [stdout] 573 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Node` [INFO] [stdout] 574 | pub struct Node { [INFO] [stdout] | ---- `Node` 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] [stderr] error: could not compile `ethcore-network-devp2p` (lib) due to 3 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `protocol` is never read [INFO] [stdout] --> network-devp2p/src/connection.rs:265:6 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct Packet { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 265 | pub protocol: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `peer_type` is never read [INFO] [stdout] --> network-devp2p/src/node_table.rs:194:6 [INFO] [stdout] | [INFO] [stdout] 191 | pub struct Node { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 194 | pub peer_type: PeerType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:385:14 [INFO] [stdout] | [INFO] [stdout] 385 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:397:14 [INFO] [stdout] | [INFO] [stdout] 397 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `natpmp::Error` to `natpmp::Error` [INFO] [stdout] --> network-devp2p/src/ip_utils.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | _ => Err(natpmp::Error::NATPMP_ERR_UNDEFINEDERROR.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:375:3 [INFO] [stdout] | [INFO] [stdout] 375 | &mut packet[..HEADER_LEN].copy_from_slice(&mut header); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 375 | let _ = &mut packet[..HEADER_LEN].copy_from_slice(&mut header); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:379:3 [INFO] [stdout] | [INFO] [stdout] 379 | &mut packet[32..32 + len].copy_from_slice(payload); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 379 | let _ = &mut packet[32..32 + len].copy_from_slice(payload); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> network-devp2p/src/connection.rs:450:3 [INFO] [stdout] | [INFO] [stdout] 450 | &mut enc[..].copy_from_slice(prev.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 450 | let _ = &mut enc[..].copy_from_slice(prev.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: a dangling pointer will be produced because the temporary `[u16; 8]` will be dropped [INFO] [stdout] --> network-devp2p/src/node_table.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | let o: *const u8 = a.ip().segments().as_ptr() as *const u8; [INFO] [stdout] | ----------------- ^^^^^^ this pointer will immediately be invalid [INFO] [stdout] | | [INFO] [stdout] | this `[u16; 8]` is deallocated at the end of the statement, bind it to a variable to extend its lifetime [INFO] [stdout] | [INFO] [stdout] = note: pointers do not have a lifetime; when calling `as_ptr` the `[u16; 8]` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned [INFO] [stdout] = help: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [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] --> network-devp2p/src/node_table.rs:547:11 [INFO] [stdout] | [INFO] [stdout] 547 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeTable` [INFO] [stdout] 548 | pub struct NodeTable { [INFO] [stdout] | --------- `NodeTable` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> network-devp2p/src/node_table.rs:547:22 [INFO] [stdout] | [INFO] [stdout] 547 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeTable` [INFO] [stdout] 548 | pub struct NodeTable { [INFO] [stdout] | --------- `NodeTable` 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] --> network-devp2p/src/node_table.rs:552:11 [INFO] [stdout] | [INFO] [stdout] 552 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NodeContact` [INFO] [stdout] 553 | pub enum NodeContact { [INFO] [stdout] | ----------- `NodeContact` 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] --> network-devp2p/src/node_table.rs:552:22 [INFO] [stdout] | [INFO] [stdout] 552 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NodeContact` [INFO] [stdout] 553 | pub enum NodeContact { [INFO] [stdout] | ----------- `NodeContact` 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] --> network-devp2p/src/node_table.rs:573:11 [INFO] [stdout] | [INFO] [stdout] 573 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Node` [INFO] [stdout] 574 | pub struct Node { [INFO] [stdout] | ---- `Node` 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] --> network-devp2p/src/node_table.rs:573:22 [INFO] [stdout] | [INFO] [stdout] 573 | #[derive(Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Node` [INFO] [stdout] 574 | pub struct Node { [INFO] [stdout] | ---- `Node` 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] [stderr] error: could not compile `ethcore-network-devp2p` (lib test) due to 3 previous errors; 12 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5bd375b33ccbc7bdfa429585f01c97dca10171259efd2373d361df884de9838f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bd375b33ccbc7bdfa429585f01c97dca10171259efd2373d361df884de9838f", kill_on_drop: false }` [INFO] [stdout] 5bd375b33ccbc7bdfa429585f01c97dca10171259efd2373d361df884de9838f