[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] testing hajifkd/virtual_ip_host against master#414482f6a0d4e7290f614300581a0b55442552a3 for pr-140985 [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 414482f6a0d4e7290f614300581a0b55442552a3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "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" "+414482f6a0d4e7290f614300581a0b55442552a3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [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" "+414482f6a0d4e7290f614300581a0b55442552a3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-core-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-io-preview v0.3.0-alpha.17 [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-util-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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cbd393560a58b478c2c439824ff96b2cadef384b97899de100fb9448653569ee [INFO] running `Command { std: "docker" "start" "-a" "cbd393560a58b478c2c439824ff96b2cadef384b97899de100fb9448653569ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cbd393560a58b478c2c439824ff96b2cadef384b97899de100fb9448653569ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cbd393560a58b478c2c439824ff96b2cadef384b97899de100fb9448653569ee", kill_on_drop: false }` [INFO] [stdout] cbd393560a58b478c2c439824ff96b2cadef384b97899de100fb9448653569ee [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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce8f62f0d416030519ef7e4935d7063f04bf919d84c36de6f0fc43da330cbafe [INFO] running `Command { std: "docker" "start" "-a" "ce8f62f0d416030519ef7e4935d7063f04bf919d84c36de6f0fc43da330cbafe", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling rustc-demangle v0.1.24 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling map_struct v0.3.0 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling 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: 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: 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 10.58s [INFO] running `Command { std: "docker" "inspect" "ce8f62f0d416030519ef7e4935d7063f04bf919d84c36de6f0fc43da330cbafe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce8f62f0d416030519ef7e4935d7063f04bf919d84c36de6f0fc43da330cbafe", kill_on_drop: false }` [INFO] [stdout] ce8f62f0d416030519ef7e4935d7063f04bf919d84c36de6f0fc43da330cbafe [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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d8fb84bbded64db9e5f8bdef6b9f4a047f6622d303afe951b50997cd61c01c83 [INFO] running `Command { std: "docker" "start" "-a" "d8fb84bbded64db9e5f8bdef6b9f4a047f6622d303afe951b50997cd61c01c83", kill_on_drop: false }` [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: 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] [stderr] Compiling virtual_ip_host v0.1.0 (/opt/rustwide/workdir) [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 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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.63s [INFO] running `Command { std: "docker" "inspect" "d8fb84bbded64db9e5f8bdef6b9f4a047f6622d303afe951b50997cd61c01c83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8fb84bbded64db9e5f8bdef6b9f4a047f6622d303afe951b50997cd61c01c83", kill_on_drop: false }` [INFO] [stdout] d8fb84bbded64db9e5f8bdef6b9f4a047f6622d303afe951b50997cd61c01c83 [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:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+414482f6a0d4e7290f614300581a0b55442552a3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e7655acf0c341c67dc73c5ef3c9391ef1d8c039305169ef627416b890cbd5310 [INFO] running `Command { std: "docker" "start" "-a" "e7655acf0c341c67dc73c5ef3c9391ef1d8c039305169ef627416b890cbd5310", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `write` [INFO] [stderr] --> src/socket/mod.rs:2:85 [INFO] [stderr] | [INFO] [stderr] 2 | bind, c_int, ioctl, packet_mreq, recv, sendto, setsockopt, sockaddr_ll, socket, write, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/socket/mod.rs:28:50 [INFO] [stderr] | [INFO] [stderr] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/socket/mod.rs:45:45 [INFO] [stderr] | [INFO] [stderr] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/socket/mod.rs:66:46 [INFO] [stderr] | [INFO] [stderr] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/socket/mod.rs:97:45 [INFO] [stderr] | [INFO] [stderr] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/ip/mod.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 71 | unimplemented!(); [INFO] [stderr] | ---------------- any code following this expression is unreachable [INFO] [stderr] ... [INFO] [stderr] 74 | result [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ip_header` [INFO] [stderr] --> src/ip/mod.rs:70:14 [INFO] [stderr] | [INFO] [stderr] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ip_header` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `payload` [INFO] [stderr] --> src/ip/mod.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | let (ip_header, payload) = IpHeaderWithoutOptions::mapped_mut(&mut result).unwrap(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `proto` [INFO] [stderr] --> src/ip/mod.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/ip/mod.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | fn construct_packet(proto: u8, dst: IpAddress, payload: &[u8]) -> Vec { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: field `my_addr` is never read [INFO] [stderr] --> src/ip/mod.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 62 | pub struct IpDriver { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 63 | my_addr: IpAddress, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/arp/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ArpError` [INFO] [stderr] 2 | pub enum ArpError { [INFO] [stderr] | -------- `ArpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (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/arp/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ArpError` [INFO] [stderr] 2 | pub enum ArpError { [INFO] [stderr] | -------- `ArpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (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/ip/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IpError` [INFO] [stderr] 2 | pub enum IpError { [INFO] [stderr] | ------- `IpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (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/ip/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IpError` [INFO] [stderr] 2 | pub enum IpError { [INFO] [stderr] | ------- `IpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (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/ip/icmp/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_IcmpError` [INFO] [stderr] 2 | pub enum IcmpError { [INFO] [stderr] | --------- `IcmpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (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/ip/icmp/error.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | #[derive(Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_IcmpError` [INFO] [stderr] 2 | pub enum IcmpError { [INFO] [stderr] | --------- `IcmpError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [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 `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the type `socket::ifreq::ifreq` does not permit being left uninitialized [INFO] [stderr] --> src/socket/mod.rs:28:40 [INFO] [stderr] | [INFO] [stderr] 28 | let mut if_req: ifreq::ifreq = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] note: integers must be initialized (in this struct field) [INFO] [stderr] --> src/socket/ifreq.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub ifr_name: [c_char; IFNAMSIZ], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(invalid_value)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stderr] --> src/socket/mod.rs:45:35 [INFO] [stderr] | [INFO] [stderr] 45 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: the type `packet_mreq` does not permit being left uninitialized [INFO] [stderr] --> src/socket/mod.rs:66:36 [INFO] [stderr] | [INFO] [stderr] 66 | let mut opt: packet_mreq = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: the type `sockaddr_ll` does not permit being left uninitialized [INFO] [stderr] --> src/socket/mod.rs:97:35 [INFO] [stderr] | [INFO] [stderr] 97 | let mut sa: sockaddr_ll = std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this code causes undefined behavior when executed [INFO] [stderr] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stderr] | [INFO] [stderr] = note: integers must be initialized [INFO] [stderr] [INFO] [stderr] warning: `virtual_ip_host` (lib) generated 21 warnings (run `cargo fix --lib -p virtual_ip_host` to apply 1 suggestion) [INFO] [stderr] warning: `virtual_ip_host` (lib test) generated 21 warnings (21 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/virtual_ip_host-967abef2ed461785) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/virtual_ip_host-41c7643be709bd9b) [INFO] [stdout] test utils::test::test_checksum ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests virtual_ip_host [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e7655acf0c341c67dc73c5ef3c9391ef1d8c039305169ef627416b890cbd5310", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7655acf0c341c67dc73c5ef3c9391ef1d8c039305169ef627416b890cbd5310", kill_on_drop: false }` [INFO] [stdout] e7655acf0c341c67dc73c5ef3c9391ef1d8c039305169ef627416b890cbd5310