[INFO] cloning repository https://github.com/hajifkd/virtual_ip_host [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hajifkd/virtual_ip_host" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhajifkd%2Fvirtual_ip_host", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhajifkd%2Fvirtual_ip_host'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ad476da02542f1fbd6b76e615007f82a703df4df [INFO] checking hajifkd/virtual_ip_host against master#d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 for pr-137268 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhajifkd%2Fvirtual_ip_host" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hajifkd/virtual_ip_host on toolchain d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/hajifkd/virtual_ip_host [INFO] finished tweaking git repo https://github.com/hajifkd/virtual_ip_host [INFO] tweaked toml for git repo https://github.com/hajifkd/virtual_ip_host written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 40 packages to latest compatible versions [INFO] [stderr] Adding futures-channel-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-core-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-executor-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-io-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-sink-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] [stderr] Adding futures-util-preview v0.3.0-alpha.17 (available: v0.3.0-alpha.19) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded map_struct v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d08cfd4bfe36eeab50875a4e85b8b5f1a36bc57bf43eadffbd55c90c05d6c1e0 [INFO] running `Command { std: "docker" "start" "-a" "d08cfd4bfe36eeab50875a4e85b8b5f1a36bc57bf43eadffbd55c90c05d6c1e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d08cfd4bfe36eeab50875a4e85b8b5f1a36bc57bf43eadffbd55c90c05d6c1e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d08cfd4bfe36eeab50875a4e85b8b5f1a36bc57bf43eadffbd55c90c05d6c1e0", kill_on_drop: false }` [INFO] [stdout] d08cfd4bfe36eeab50875a4e85b8b5f1a36bc57bf43eadffbd55c90c05d6c1e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 834988e80cd10698d2b9ce3f324f4809c048c620928d24da2cef25d81039aedf [INFO] running `Command { std: "docker" "start" "-a" "834988e80cd10698d2b9ce3f324f4809c048c620928d24da2cef25d81039aedf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking futures-core-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-io-preview v0.3.0-alpha.17 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking map_struct v0.3.0 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking addr2line v0.24.2 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking virtual_ip_host v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/socket/mod.rs:2:85 [INFO] [stdout] | [INFO] [stdout] 2 | bind, c_int, ioctl, packet_mreq, recv, sendto, setsockopt, sockaddr_ll, socket, write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:28:50 [INFO] [stdout] | [INFO] [stdout] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:45:45 [INFO] [stdout] | [INFO] [stdout] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/socket/mod.rs:2:85 [INFO] [stdout] | [INFO] [stdout] 2 | bind, c_int, ioctl, packet_mreq, recv, sendto, setsockopt, sockaddr_ll, socket, write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:28:50 [INFO] [stdout] | [INFO] [stdout] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:45:45 [INFO] [stdout] | [INFO] [stdout] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:66:46 [INFO] [stdout] | [INFO] [stdout] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/socket/mod.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/ip/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 71 | unimplemented!(); [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 74 | result [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_header` [INFO] [stdout] --> src/ip/mod.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/ip/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 71 | unimplemented!(); [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 74 | result [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> src/ip/mod.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proto` [INFO] [stdout] --> src/ip/mod.rs:67:21 [INFO] [stdout] | [INFO] [stdout] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dst` [INFO] [stdout] --> src/ip/mod.rs:67:32 [INFO] [stdout] | [INFO] [stdout] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `my_addr` is never read [INFO] [stdout] --> src/ip/mod.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct IpDriver { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 63 | my_addr: IpAddress, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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] --> src/arp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ArpError` [INFO] [stdout] 2 | pub enum ArpError { [INFO] [stdout] | -------- `ArpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/arp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ArpError` [INFO] [stdout] 2 | pub enum ArpError { [INFO] [stdout] | -------- `ArpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IpError` [INFO] [stdout] 2 | pub enum IpError { [INFO] [stdout] | ------- `IpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IpError` [INFO] [stdout] 2 | pub enum IpError { [INFO] [stdout] | ------- `IpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/icmp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IcmpError` [INFO] [stdout] 2 | pub enum IcmpError { [INFO] [stdout] | --------- `IcmpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/icmp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IcmpError` [INFO] [stdout] 2 | pub enum IcmpError { [INFO] [stdout] | --------- `IcmpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `socket::ifreq::ifreq` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] note: integers must be initialized (in this struct field) [INFO] [stdout] --> src/socket/ifreq.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub ifr_name: [c_char; IFNAMSIZ], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `packet_mreq` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:66:36 [INFO] [stdout] | [INFO] [stdout] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ip_header` [INFO] [stdout] --> src/ip/mod.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> src/ip/mod.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proto` [INFO] [stdout] --> src/ip/mod.rs:67:21 [INFO] [stdout] | [INFO] [stdout] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dst` [INFO] [stdout] --> src/ip/mod.rs:67:32 [INFO] [stdout] | [INFO] [stdout] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `my_addr` is never read [INFO] [stdout] --> src/ip/mod.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct IpDriver { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 63 | my_addr: IpAddress, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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] --> src/arp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ArpError` [INFO] [stdout] 2 | pub enum ArpError { [INFO] [stdout] | -------- `ArpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/arp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ArpError` [INFO] [stdout] 2 | pub enum ArpError { [INFO] [stdout] | -------- `ArpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IpError` [INFO] [stdout] 2 | pub enum IpError { [INFO] [stdout] | ------- `IpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IpError` [INFO] [stdout] 2 | pub enum IpError { [INFO] [stdout] | ------- `IpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/icmp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IcmpError` [INFO] [stdout] 2 | pub enum IcmpError { [INFO] [stdout] | --------- `IcmpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/ip/icmp/error.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IcmpError` [INFO] [stdout] 2 | pub enum IcmpError { [INFO] [stdout] | --------- `IcmpError` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `socket::ifreq::ifreq` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] note: integers must be initialized (in this struct field) [INFO] [stdout] --> src/socket/ifreq.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub ifr_name: [c_char; IFNAMSIZ], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `packet_mreq` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:66:36 [INFO] [stdout] | [INFO] [stdout] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stdout] --> src/socket/mod.rs:97:35 [INFO] [stdout] | [INFO] [stdout] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.39s [INFO] running `Command { std: "docker" "inspect" "834988e80cd10698d2b9ce3f324f4809c048c620928d24da2cef25d81039aedf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "834988e80cd10698d2b9ce3f324f4809c048c620928d24da2cef25d81039aedf", kill_on_drop: false }` [INFO] [stdout] 834988e80cd10698d2b9ce3f324f4809c048c620928d24da2cef25d81039aedf