[INFO] fetching crate ya-relay-stack 0.5.1... [INFO] building ya-relay-stack-0.5.1 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1 [INFO] extracting crate ya-relay-stack 0.5.1 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate ya-relay-stack 0.5.1 [INFO] finished tweaking crates.io crate ya-relay-stack 0.5.1 [INFO] tweaked toml for crates.io crate ya-relay-stack 0.5.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ya-relay-stack 0.5.1 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 97 packages to latest compatible versions [INFO] [stderr] Adding derive_more v0.99.20 (available: v2.0.1) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding rand v0.8.5 (available: v0.9.2) [INFO] [stderr] Adding sha3 v0.8.2 (available: v0.10.8) [INFO] [stderr] Adding smoltcp v0.10.0 (available: v0.12.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.16) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ya-relay-util v0.1.0 [INFO] [stderr] Downloaded smoltcp v0.10.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 044296d8f5051c10789dd5b7d68bae6eedd01f77ca93417d2f8ca97177032297 [INFO] running `Command { std: "docker" "start" "-a" "044296d8f5051c10789dd5b7d68bae6eedd01f77ca93417d2f8ca97177032297", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "044296d8f5051c10789dd5b7d68bae6eedd01f77ca93417d2f8ca97177032297", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "044296d8f5051c10789dd5b7d68bae6eedd01f77ca93417d2f8ca97177032297", kill_on_drop: false }` [INFO] [stdout] 044296d8f5051c10789dd5b7d68bae6eedd01f77ca93417d2f8ca97177032297 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e7047ee685320b6c935a42127a9aedfaa60d365aebbcf1ac96263d76c964c3ee [INFO] running `Command { std: "docker" "start" "-a" "e7047ee685320b6c935a42127a9aedfaa60d365aebbcf1ac96263d76c964c3ee", kill_on_drop: false }` [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling smoltcp v0.10.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling managed v0.8.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling ya-relay-util v0.1.0 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling ya-relay-stack v0.5.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/interface.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 176 | ) -> LocalBoxFuture> { [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] 176 | ) -> LocalBoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 206 | ) -> LocalBoxFuture<()> { [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] 206 | ) -> LocalBoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/packet.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn to_tcp(&self) -> Option { [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] 181 | pub fn to_tcp(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/protocol.rs:5:68 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Protocol` [INFO] [stdout] ... [INFO] [stdout] 8 | pub enum Protocol { [INFO] [stdout] | -------- `Protocol` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.70s [INFO] running `Command { std: "docker" "inspect" "e7047ee685320b6c935a42127a9aedfaa60d365aebbcf1ac96263d76c964c3ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7047ee685320b6c935a42127a9aedfaa60d365aebbcf1ac96263d76c964c3ee", kill_on_drop: false }` [INFO] [stdout] e7047ee685320b6c935a42127a9aedfaa60d365aebbcf1ac96263d76c964c3ee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b832df8b62a8730f9db74e587a3087d9b87c6f05f1d8f25851263264d30a75fd [INFO] running `Command { std: "docker" "start" "-a" "b832df8b62a8730f9db74e587a3087d9b87c6f05f1d8f25851263264d30a75fd", kill_on_drop: false }` [INFO] [stderr] Compiling byte-tools v0.3.1 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling generic-array v0.12.4 [INFO] [stderr] Compiling opaque-debug v0.2.3 [INFO] [stderr] Compiling block-padding v0.1.5 [INFO] [stderr] Compiling block-buffer v0.7.3 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling sha3 v0.8.2 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling ya-relay-stack v0.5.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/interface.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 176 | ) -> LocalBoxFuture> { [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] 176 | ) -> LocalBoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 206 | ) -> LocalBoxFuture<()> { [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] 206 | ) -> LocalBoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/packet.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn to_tcp(&self) -> Option { [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] 181 | pub fn to_tcp(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/protocol.rs:5:68 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Protocol` [INFO] [stdout] ... [INFO] [stdout] 8 | pub enum Protocol { [INFO] [stdout] | -------- `Protocol` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/interface.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 64 | pub fn remove_socket(&mut self, handle: SocketHandle) -> smoltcp::socket::Socket<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 176 | ) -> LocalBoxFuture> { [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] 176 | ) -> LocalBoxFuture<'_, Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/network.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | &self, [INFO] [stdout] | ^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 206 | ) -> LocalBoxFuture<()> { [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] 206 | ) -> LocalBoxFuture<'_, ()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/packet.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn to_tcp(&self) -> Option { [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] 181 | pub fn to_tcp(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/protocol.rs:5:68 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Hash, Eq, PartialEq, Ord, PartialOrd, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Protocol` [INFO] [stdout] ... [INFO] [stdout] 8 | pub enum Protocol { [INFO] [stdout] | -------- `Protocol` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 10.11s [INFO] running `Command { std: "docker" "inspect" "b832df8b62a8730f9db74e587a3087d9b87c6f05f1d8f25851263264d30a75fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b832df8b62a8730f9db74e587a3087d9b87c6f05f1d8f25851263264d30a75fd", kill_on_drop: false }` [INFO] [stdout] b832df8b62a8730f9db74e587a3087d9b87c6f05f1d8f25851263264d30a75fd