[INFO] fetching crate ethox 0.0.2...
[INFO] testing ethox-0.0.2 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate ethox 0.0.2 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate ethox 0.0.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate ethox 0.0.2
[INFO] tweaked toml for crates.io crate ethox 0.0.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ethox 0.0.2 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ethox 0.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8eb1f5e07084d722d634353d31167b0a25beab30f2e9a88e26e1e18aea11857c
[INFO] running `Command { std: "docker" "start" "-a" "8eb1f5e07084d722d634353d31167b0a25beab30f2e9a88e26e1e18aea11857c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8eb1f5e07084d722d634353d31167b0a25beab30f2e9a88e26e1e18aea11857c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8eb1f5e07084d722d634353d31167b0a25beab30f2e9a88e26e1e18aea11857c", kill_on_drop: false }`
[INFO] [stdout] 8eb1f5e07084d722d634353d31167b0a25beab30f2e9a88e26e1e18aea11857c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f1d8a7d5f1ff0cae38fc53a70dcf49f7e4d2acd4670d731b4c351fb0581ed9f
[INFO] running `Command { std: "docker" "start" "-a" "7f1d8a7d5f1ff0cae38fc53a70dcf49f7e4d2acd4670d731b4c351fb0581ed9f", kill_on_drop: false }`
[INFO] [stderr]    Compiling ethox v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/macros.rs:154:11
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[cfg(all(feature = "log", DISABLED))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `alloc`, `default`, `libc`, `std`, and `sys`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `DISABLED`
[INFO] [stdout]    --> src/macros.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[cfg(all(feature = "log", DISABLED))]
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(DISABLED)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(DISABLED)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/macros.rs:163:15
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[cfg(not(all(feature = "log", DISABLED)))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `alloc`, `default`, `libc`, `std`, and `sys`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `DISABLED`
[INFO] [stdout]    --> src/macros.rs:163:32
[INFO] [stdout]     |
[INFO] [stdout] 163 | #[cfg(not(all(feature = "log", DISABLED)))]
[INFO] [stdout]     |                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(DISABLED)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(DISABLED)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `proto-dhcpv4`
[INFO] [stdout]    --> src/wire/mod.rs:353:7
[INFO] [stdout]     |
[INFO] [stdout] 353 | #[cfg(feature = "proto-dhcpv4")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `alloc`, `default`, `libc`, `std`, and `sys`
[INFO] [stdout]     = help: consider adding `proto-dhcpv4` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/wire/./ipv4.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |         if cfg!(fuzzing) { return true }
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/wire/./icmpv4.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |         if cfg!(fuzzing) { return true }
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/wire/./udp.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if cfg!(fuzzing) { return true }
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/wire/./tcp.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |         if cfg!(fuzzing) { return true }
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> src/wire/./tcp.rs:1013:13
[INFO] [stdout]      |
[INFO] [stdout] 1013 |             (self.flags.syn() | self.flags.fin() | self.flags.rst())
[INFO] [stdout]      |             ^                                                      ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1013 -             (self.flags.syn() | self.flags.fin() | self.flags.rst())
[INFO] [stdout] 1013 +             self.flags.syn() | self.flags.fin() | self.flags.rst() 
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown `doc` attribute `shown`
[INFO] [stdout]   --> src/macros.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                   $($(#[$val_attr])* #[doc(shown)] $variant = $value ),+
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/wire/./ethernet.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / enum_with_unknown! {
[INFO] [stdout]  9 | |     /// Ethernet protocol type.
[INFO] [stdout] 10 | |     pub enum EtherType(u16) {
[INFO] [stdout] 11 | |         Ipv4 = 0x0800,
[INFO] [stdout] ...  |
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(invalid_doc_attributes)]` on by default
[INFO] [stdout]    = note: this error originates in the macro `enum_with_unknown` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown `doc` attribute `shown`
[INFO] [stdout]   --> src/macros.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                   $($(#[$val_attr])* #[doc(shown)] $variant = $value ),+
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/wire/./arp.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / enum_with_unknown! {
[INFO] [stdout] 12 | |     /// ARP hardware type.
[INFO] [stdout] 13 | |     pub enum Hardware(u16) {
[INFO] [stdout] 14 | |         Ethernet = 1
[INFO] [stdout] 15 | |     }
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enum_with_unknown` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown `doc` attribute `shown`
[INFO] [stdout]   --> src/macros.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                   $($(#[$val_attr])* #[doc(shown)] $variant = $value ),+
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/wire/./arp.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / enum_with_unknown! {
[INFO] [stdout] 19 | |     /// ARP operation type.
[INFO] [stdout] 20 | |     pub enum Operation(u16) {
[INFO] [stdout] 21 | |         Request = 1,
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enum_with_unknown` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown `doc` attribute `shown`
[INFO] [stdout]   --> src/macros.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                   $($(#[$val_attr])* #[doc(shown)] $variant = $value ),+
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/wire/./ip.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / enum_with_unknown! {
[INFO] [stdout] 58 | |     /// IP datagram encapsulated protocol.
[INFO] [stdout] 59 | |     pub enum Protocol(u8) {
[INFO] [stdout] 60 | |         HopByHop  = 0x00,
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enum_with_unknown` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown `doc` attribute `shown`
[INFO] [stdout]   --> src/macros.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                   $($(#[$val_attr])* #[doc(shown)] $variant = $value ),+
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/wire/./ipv6.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / enum_with_unknown! {
[INFO] [stdout] 32 | |     /// IPv6 multicast scope.
[INFO] [stdout] 33 | |     pub enum Scope(u8) {
[INFO] [stdout] 34 | |         /// The address is valid for the interface alone.
[INFO] [stdout] ...  |
[INFO] [stdout] 49 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enum_with_unknown` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `silent_until` is never read
[INFO] [stdout]    --> src/layer/arp/neighbor.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Cache<'a> {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 108 |     storage:      Ordered<'a, Neighbor>,
[INFO] [stdout] 109 |     silent_until: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Cache` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nic/loopback.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn next_recv(&mut self) -> Option<(AckRecv, &mut C)> {
[INFO] [stdout]    |                  ^^^^^^^^^             ^^^^^^^  ^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                  |                     |
[INFO] [stdout]    |                  |                     the same lifetime is hidden here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn next_recv(&mut self) -> Option<(AckRecv<'_>, &mut C)> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nic/loopback.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn next_send(&mut self) -> Option<(AckSend, &mut C)> {
[INFO] [stdout]    |                  ^^^^^^^^^             ^^^^^^^  ^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |                  |                     |
[INFO] [stdout]    |                  |                     the same lifetime is hidden here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn next_send(&mut self) -> Option<(AckSend<'_>, &mut C)> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/arp/neighbor.rs:311:20
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn missing(&self) -> Missing {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn missing(&self) -> Missing<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/layer/arp/packet.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn borrow_mut(&mut self) -> Controller {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn borrow_mut(&mut self) -> Controller<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/layer/eth/packet.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn borrow_mut(&mut self) -> Controller {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn borrow_mut(&mut self) -> Controller<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn answer(&mut self) -> Receiver {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn answer(&mut self) -> Receiver<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:109:20
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn recv<H>(&mut self, handler: H) -> Receiver<H> {
[INFO] [stdout]     |                    ^^^^^^^^^                 ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn recv<H>(&mut self, handler: H) -> Receiver<'_, H> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn recv_with<H>(&mut self, handler: H) -> Receiver<FnHandler<H>> {
[INFO] [stdout]     |                         ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn recv_with<H>(&mut self, handler: H) -> Receiver<'_, FnHandler<H>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn send<H>(&mut self, handler: H) -> Sender<H> {
[INFO] [stdout]     |                    ^^^^^^^^^                 ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn send<H>(&mut self, handler: H) -> Sender<'_, H> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:124:25
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn send_with<H>(&mut self, handler: H) -> Sender<FnHandler<H>> {
[INFO] [stdout]     |                         ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn send_with<H>(&mut self, handler: H) -> Sender<'_, FnHandler<H>> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/icmp/endpoint.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_mut(&mut self) -> EndpointRef {
[INFO] [stdout]     |                ^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn get_mut(&mut self) -> EndpointRef<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/layer/icmp/packet.rs:80:23
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn borrow_mut(&mut self) -> Controller {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn borrow_mut(&mut self) -> Controller<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/ip/packet.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow_mut(&mut self) -> Controller {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn borrow_mut(&mut self) -> Controller<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/layer/ip/packet.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub fn control(&self) -> &Controller<'a> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:59:9
[INFO] [stdout]     |
[INFO] [stdout]  59 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/layer/loss/mod.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn lossy<I>(&mut self, layer: I) -> Lossy<I> {
[INFO] [stdout]    |                     ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn lossy<I>(&mut self, layer: I) -> Lossy<'_, I> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/layer/udp/packet.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn borrow_mut(&mut self) -> Controller {
[INFO] [stdout]    |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn borrow_mut(&mut self) -> Controller<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/connection.rs:362:14
[INFO] [stdout]     |
[INFO] [stdout] 362 |     fn entry(&mut self, index: SlotKey) -> Option<Entry>;
[INFO] [stdout]     |              ^^^^^^^^^                            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     fn entry(&mut self, index: SlotKey) -> Option<Entry<'_>>;
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/connection.rs:366:19
[INFO] [stdout]     |
[INFO] [stdout] 366 |     fn find_tuple(&mut self, tuple: FourTuple) -> Option<Entry>;
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here  ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 366 |     fn find_tuple(&mut self, tuple: FourTuple) -> Option<Entry<'_>>;
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/layer/tcp/connection.rs:1325:14
[INFO] [stdout]      |
[INFO] [stdout] 1325 |     fn entry(&mut self) -> Entry {
[INFO] [stdout]      |              ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |              |
[INFO] [stdout]      |              the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1325 |     fn entry(&mut self) -> Entry<'_> {
[INFO] [stdout]      |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/endpoint.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub(crate) fn entry(&mut self, index: SlotKey)
[INFO] [stdout]     |                         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 164 |         -> Option<Entry>
[INFO] [stdout]     |                   ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 164 |         -> Option<Entry<'_>>
[INFO] [stdout]     |                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/endpoint.rs:185:36
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub(crate) fn entry_from_tuple(&mut self, tuple: FourTuple)
[INFO] [stdout]     |                                    ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 186 |         -> Option<Entry>
[INFO] [stdout]     |                   ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 186 |         -> Option<Entry<'_>>
[INFO] [stdout]     |                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/endpoint.rs:440:14
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn entry(&mut self, index: SlotKey) -> Option<Entry> {
[INFO] [stdout]     |              ^^^^^^^^^                            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 440 |     fn entry(&mut self, index: SlotKey) -> Option<Entry<'_>> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/layer/tcp/endpoint.rs:444:19
[INFO] [stdout]     |
[INFO] [stdout] 444 |     fn find_tuple(&mut self, tuple: FourTuple) -> Option<Entry> {
[INFO] [stdout]     |                   ^^^^^^^^^ the lifetime is elided here  ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 444 |     fn find_tuple(&mut self, tuple: FourTuple) -> Option<Entry<'_>> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/managed/phantom_alloc/phantom_btree.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn entry(&mut self, key: K) -> Entry<K, V> {
[INFO] [stdout]    |                  ^^^^^^^^^             ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn entry(&mut self, key: K) -> Entry<'_, K, V> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/wire/./ipv6hopbyhop.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn options(&self) -> Ipv6OptionsIterator {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub fn options(&self) -> Ipv6OptionsIterator<'_> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/wire/payload.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |         core::mem::replace(self, inner);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let _ = core::mem::replace(self, inner);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ethox` (lib) due to 5 previous errors; 37 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7f1d8a7d5f1ff0cae38fc53a70dcf49f7e4d2acd4670d731b4c351fb0581ed9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f1d8a7d5f1ff0cae38fc53a70dcf49f7e4d2acd4670d731b4c351fb0581ed9f", kill_on_drop: false }`
[INFO] [stdout] 7f1d8a7d5f1ff0cae38fc53a70dcf49f7e4d2acd4670d731b4c351fb0581ed9f
