[INFO] fetching crate libzmq 0.2.5...
[INFO] testing libzmq-0.2.5 against 1.94.0 for beta-1.95-1
[INFO] extracting crate libzmq 0.2.5 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate libzmq 0.2.5
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate libzmq 0.2.5
[INFO] tweaked toml for crates.io crate libzmq 0.2.5 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate libzmq 0.2.5 on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate libzmq 0.2.5 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" "+1.94.0" "fetch" "--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]  Downloading crates ...
[INFO] [stderr]   Downloaded either v1.5.3
[INFO] [stderr]   Downloaded uuid v0.8.1
[INFO] [stderr]   Downloaded semver-parser v0.9.0
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.1
[INFO] [stderr]   Downloaded bincode v1.2.1
[INFO] [stderr]   Downloaded oorandom v11.1.1
[INFO] [stderr]   Downloaded libzmq-sys v0.1.8+4.3.2
[INFO] [stderr]   Downloaded humantime-serde v1.0.0
[INFO] [stderr]   Downloaded memoffset v0.5.4
[INFO] [stderr]   Downloaded cast v0.2.3
[INFO] [stderr]   Downloaded csv-core v0.1.10
[INFO] [stderr]   Downloaded anyhow v1.0.28
[INFO] [stderr]   Downloaded libflate v0.1.27
[INFO] [stderr]   Downloaded rayon-core v1.7.0
[INFO] [stderr]   Downloaded criterion v0.3.2
[INFO] [stderr]   Downloaded regex-automata v0.1.9
[INFO] [stderr]   Downloaded rle-decode-fast v1.0.1
[INFO] [stderr]   Downloaded tar v0.4.26
[INFO] [stderr]   Downloaded rayon v1.3.0
[INFO] [stderr]   Downloaded yaml-rust v0.4.3
[INFO] [stderr]   Downloaded syn v1.0.19
[INFO] [stderr]   Downloaded pulldown-cmark v0.7.1
[INFO] [stderr]   Downloaded serde v1.0.107
[INFO] [stderr]   Downloaded serde_yaml v0.8.11
[INFO] [stderr]   Downloaded serde_derive v1.0.107
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.3
[INFO] [stderr]   Downloaded humantime v2.0.0
[INFO] [stderr]   Downloaded quickcheck v0.9.2
[INFO] [stderr]   Downloaded linked-hash-map v0.5.3
[INFO] [stderr]   Downloaded bstr v0.2.12
[INFO] [stderr]   Downloaded tinytemplate v1.0.4
[INFO] [stderr]   Downloaded serde_with v1.4.0
[INFO] [stderr]   Downloaded criterion-plot v0.4.2
[INFO] [stderr]   Downloaded serde_with_macros v1.1.0
[INFO] [stderr]   Downloaded flatc-rust v0.1.2
[INFO] [stderr]   Downloaded thiserror-impl v1.0.16
[INFO] [stderr]   Downloaded thiserror v1.0.16
[INFO] [stderr]   Downloaded take_mut v0.2.2
[INFO] [stderr]   Downloaded pkg-config v0.3.17
[INFO] [stderr]   Downloaded filetime v0.2.10
[INFO] [stderr]   Downloaded vcpkg v0.2.8
[INFO] [stderr]   Downloaded rand_isaac v0.2.0
[INFO] [stderr]   Downloaded cmake v0.1.42
[INFO] [stderr]   Downloaded toml v0.5.6
[INFO] [stderr]   Downloaded version-sync v0.9.0
[INFO] [stderr]   Downloaded csv v1.1.3
[INFO] [stderr]   Downloaded zeromq-src v0.1.10+4.3.2
[INFO] [stderr]   Downloaded plotters v0.2.14
[INFO] [stderr]   Downloaded libsodium-sys v0.2.5
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1cc9a0b529e747e6c2a2e9a55bdbc5f91d34b4eaa581989e5416f012e6a82355
[INFO] running `Command { std: "docker" "start" "-a" "1cc9a0b529e747e6c2a2e9a55bdbc5f91d34b4eaa581989e5416f012e6a82355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cc9a0b529e747e6c2a2e9a55bdbc5f91d34b4eaa581989e5416f012e6a82355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cc9a0b529e747e6c2a2e9a55bdbc5f91d34b4eaa581989e5416f012e6a82355", kill_on_drop: false }`
[INFO] [stdout] 1cc9a0b529e747e6c2a2e9a55bdbc5f91d34b4eaa581989e5416f012e6a82355
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ffe1972c01119e7a7d64e47a60b9f92bfe9f87ac07d620f91f35367b321cda3
[INFO] running `Command { std: "docker" "start" "-a" "7ffe1972c01119e7a7d64e47a60b9f92bfe9f87ac07d620f91f35367b321cda3", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.19
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling serde v1.0.107
[INFO] [stderr]    Compiling cc v1.0.52
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling humantime v2.0.0
[INFO] [stderr]    Compiling cmake v0.1.42
[INFO] [stderr]    Compiling quote v1.0.4
[INFO] [stderr]    Compiling zeromq-src v0.1.10+4.3.2
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling libzmq-sys v0.1.8+4.3.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.107
[INFO] [stderr]    Compiling thiserror-impl v1.0.16
[INFO] [stderr]    Compiling serde_with_macros v1.1.0
[INFO] [stderr]    Compiling thiserror v1.0.16
[INFO] [stderr]    Compiling humantime-serde v1.0.0
[INFO] [stderr]    Compiling bincode v1.2.1
[INFO] [stderr]    Compiling serde_with v1.4.0
[INFO] [stderr]    Compiling libzmq v0.2.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `version`, `domain`, and `identity` are never read
[INFO] [stdout]   --> src/auth/server.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct ZapRequest {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 95 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     request_id: Msg,
[INFO] [stdout] 97 |     domain: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 98 |     addr: Ipv6Addr,
[INFO] [stdout] 99 |     identity: Msg,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZapRequest` has derived impls for the traits `Debug` and `Clone`, but these are 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:51
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                   ^--------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `Serialize` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:62
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                              ^----------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:51
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                   ^----------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Deserialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:64
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                                ^--------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `Serialize` is not local
[INFO] [stdout]     |                                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:51
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                   ^--------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Serialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                              ^----------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:56
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/raw.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:201:29
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/recv.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/send.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!("{}", msg_from_errno(errno)),
[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/auth/mod.rs:35:45
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/mod.rs:35:56
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:54
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:65
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:54
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:65
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:38
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:49
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:38
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:49
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:56
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:45
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:56
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:45
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:56
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/ctx.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:115:58
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:47
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:58
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:45
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                             ^--------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             `Serialize` is not local
[INFO] [stdout]      |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:56
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                                        ^----------
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        `Deserialize` is not local
[INFO] [stdout]      |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/group.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 62 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/group.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 199 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[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/msg.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/msg.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:289:20
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!(msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!("{}", msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:356:29
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/msg.rs:388:13
[INFO] [stdout]     |
[INFO] [stdout] 388 |             Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[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] 388 |             let _ = Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/poll.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter(&self) -> Iter {
[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] 334 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:514:29
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:551:29
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:612:29
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:638:29
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:688:29
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:716:29
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:812:20
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:828:29
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/socket/mod.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/socket/mod.rs:61:56
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:54
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:65
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:54
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:65
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!("{}", msg_from_errno(errno)),
[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/socket/dish.rs:312:54
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:312:65
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:54
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:65
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:54
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:65
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:54
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:65
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:54
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:65
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:54
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:65
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:54
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:65
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:54
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:65
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/utils.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.54s
[INFO] running `Command { std: "docker" "inspect" "7ffe1972c01119e7a7d64e47a60b9f92bfe9f87ac07d620f91f35367b321cda3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ffe1972c01119e7a7d64e47a60b9f92bfe9f87ac07d620f91f35367b321cda3", kill_on_drop: false }`
[INFO] [stdout] 7ffe1972c01119e7a7d64e47a60b9f92bfe9f87ac07d620f91f35367b321cda3
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c66ce364de9225095711a68346fe31320abe11541ddf752c49d64ec6c4dbb7cc
[INFO] running `Command { std: "docker" "start" "-a" "c66ce364de9225095711a68346fe31320abe11541ddf752c49d64ec6c4dbb7cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]    Compiling syn v1.0.19
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.6.17
[INFO] [stderr]    Compiling version_check v0.9.1
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.4.0
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling regex-automata v0.1.9
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.12
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling unicode-width v0.1.7
[INFO] [stderr]    Compiling pulldown-cmark v0.7.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling anyhow v1.0.28
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling aho-corasick v0.7.10
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling yaml-rust v0.4.3
[INFO] [stderr]    Compiling quote v1.0.4
[INFO] [stderr]    Compiling idna v0.2.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling semver-parser v0.9.0
[INFO] [stderr]    Compiling dtoa v0.4.5
[INFO] [stderr]    Compiling oorandom v11.1.1
[INFO] [stderr]    Compiling rand_isaac v0.2.0
[INFO] [stderr]    Compiling crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling criterion-plot v0.4.2
[INFO] [stderr]    Compiling url v2.1.1
[INFO] [stderr]    Compiling plotters v0.2.14
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling regex v1.3.7
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling quickcheck v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.107
[INFO] [stderr]    Compiling thiserror-impl v1.0.16
[INFO] [stderr]    Compiling serde_with_macros v1.1.0
[INFO] [stderr]    Compiling thiserror v1.0.16
[INFO] [stderr]    Compiling serde v1.0.107
[INFO] [stderr]    Compiling bstr v0.2.12
[INFO] [stderr]    Compiling serde_json v1.0.52
[INFO] [stderr]    Compiling toml v0.5.6
[INFO] [stderr]    Compiling serde_with v1.4.0
[INFO] [stderr]    Compiling humantime-serde v1.0.0
[INFO] [stderr]    Compiling bincode v1.2.1
[INFO] [stderr]    Compiling serde_yaml v0.8.11
[INFO] [stderr]    Compiling libzmq v0.2.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling csv v1.1.3
[INFO] [stderr]    Compiling version-sync v0.9.0
[INFO] [stderr]    Compiling tinytemplate v1.0.4
[INFO] [stderr]    Compiling criterion v0.3.2
[INFO] [stdout] warning: fields `version`, `domain`, and `identity` are never read
[INFO] [stdout]   --> src/auth/server.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct ZapRequest {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 95 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     request_id: Msg,
[INFO] [stdout] 97 |     domain: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 98 |     addr: Ipv6Addr,
[INFO] [stdout] 99 |     identity: Msg,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZapRequest` has derived impls for the traits `Debug` and `Clone`, but these are 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:51
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                   ^--------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `Serialize` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:62
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                              ^----------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:51
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                   ^----------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Deserialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:64
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                                ^--------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `Serialize` is not local
[INFO] [stdout]     |                                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:51
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                   ^--------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Serialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                              ^----------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:56
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/raw.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:201:29
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/recv.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/send.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!("{}", msg_from_errno(errno)),
[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/auth/mod.rs:35:45
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/mod.rs:35:56
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:54
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:65
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:54
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:65
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:38
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:49
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:38
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:49
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:56
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:45
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:56
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:45
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:56
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/ctx.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:115:58
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:47
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:58
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:45
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                             ^--------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             `Serialize` is not local
[INFO] [stdout]      |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:56
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                                        ^----------
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        `Deserialize` is not local
[INFO] [stdout]      |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/group.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 62 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/group.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 199 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[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/msg.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/msg.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:289:20
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!(msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!("{}", msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:356:29
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/msg.rs:388:13
[INFO] [stdout]     |
[INFO] [stdout] 388 |             Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[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] 388 |             let _ = Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/poll.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter(&self) -> Iter {
[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] 334 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:514:29
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:551:29
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:612:29
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:638:29
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:688:29
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:716:29
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:812:20
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:828:29
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/socket/mod.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/socket/mod.rs:61:56
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:54
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:65
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:54
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:65
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!("{}", msg_from_errno(errno)),
[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/socket/dish.rs:312:54
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:312:65
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:54
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:65
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:54
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:65
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:54
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:65
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:54
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:65
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:54
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:65
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:54
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:65
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:54
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:65
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/utils.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `version`, `domain`, and `identity` are never read
[INFO] [stdout]   --> src/auth/server.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct ZapRequest {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 95 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     request_id: Msg,
[INFO] [stdout] 97 |     domain: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 98 |     addr: Ipv6Addr,
[INFO] [stdout] 99 |     identity: Msg,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZapRequest` has derived impls for the traits `Debug` and `Clone`, but these are 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:51
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                   ^--------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `Serialize` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:60:62
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                              ^----------
[INFO] [stdout]    |                                                              |
[INFO] [stdout]    |                                                              `Deserialize` is not local
[INFO] [stdout]    |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_HighWaterMark`
[INFO] [stdout] ...
[INFO] [stdout] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stdout]    |                   ------------- `HighWaterMark` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:51
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                   ^----------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Deserialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:98:64
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stdout]     |                                                                ^--------
[INFO] [stdout]     |                                                                |
[INFO] [stdout]     |                                                                `Serialize` is not local
[INFO] [stdout]     |                                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BatchSize`
[INFO] [stdout] ...
[INFO] [stdout] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stdout]     |                   --------- `BatchSize` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:51
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                   ^--------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `Serialize` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/core/mod.rs:137:62
[INFO] [stdout]     |
[INFO] [stdout] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                              ^----------
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              `Deserialize` is not local
[INFO] [stdout]     |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Period`
[INFO] [stdout] ...
[INFO] [stdout] 140 | pub enum Period {
[INFO] [stdout]     |          ------ `Period` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/heartbeat.rs:48:56
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Heartbeat`
[INFO] [stdout] 49 | pub struct Heartbeat {
[INFO] [stdout]    |            --------- `Heartbeat` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/raw.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 77 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:107:25
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 130 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:153:25
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 153 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/raw.rs:201:29
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/recv.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 35 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/core/send.rs:41:25
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 41 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 117 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/sockopt.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 223 |             _ => panic!("{}", msg_from_errno(errno)),
[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/auth/mod.rs:35:45
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/mod.rs:35:56
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlainClientCreds`
[INFO] [stdout] 36 | pub struct PlainClientCreds {
[INFO] [stdout]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/mod.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mechanism`
[INFO] [stdout] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 110 | pub enum Mechanism {
[INFO] [stdout]     |          --------- `Mechanism` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/auth/client.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthRequest`
[INFO] [stdout] 9 | pub(crate) enum AuthRequest {
[INFO] [stdout]   |                 ----------- `AuthRequest` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/auth/client.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthReply`
[INFO] [stdout] 26 | pub(crate) enum AuthReply {
[INFO] [stdout]    |                 --------- `AuthReply` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:54
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:338:65
[INFO] [stdout]     |
[INFO] [stdout] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthConfig`
[INFO] [stdout] 339 | pub struct AuthConfig {
[INFO] [stdout]     |            ---------- `AuthConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:54
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/client.rs:438:65
[INFO] [stdout]     |
[INFO] [stdout] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthBuilder`
[INFO] [stdout] 439 | pub struct AuthBuilder {
[INFO] [stdout]     |            ----------- `AuthBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:38
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:142:49
[INFO] [stdout]     |
[INFO] [stdout] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurvePublicKey`
[INFO] [stdout] 143 | #[serde(transparent)]
[INFO] [stdout] 144 | pub struct CurvePublicKey {
[INFO] [stdout]     |            -------------- `CurvePublicKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:38
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                      ^--------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `Serialize` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:268:49
[INFO] [stdout]     |
[INFO] [stdout] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveSecretKey`
[INFO] [stdout] 269 | #[serde(transparent)]
[INFO] [stdout] 270 | pub struct CurveSecretKey {
[INFO] [stdout]     |            -------------- `CurveSecretKey` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:517:56
[INFO] [stdout]     |
[INFO] [stdout] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveCert`
[INFO] [stdout] 518 | pub struct CurveCert {
[INFO] [stdout]     |            --------- `CurveCert` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:45
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:645:56
[INFO] [stdout]     |
[INFO] [stdout] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveClientCreds`
[INFO] [stdout] 646 | pub struct CurveClientCreds {
[INFO] [stdout]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:45
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                             ^--------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `Serialize` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/auth/curve.rs:710:56
[INFO] [stdout]     |
[INFO] [stdout] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                        ^----------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `Deserialize` is not local
[INFO] [stdout]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveServerCreds`
[INFO] [stdout] 711 | pub struct CurveServerCreds {
[INFO] [stdout]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:53:20
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]    |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/ctx.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/ctx.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:115:58
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxConfig`
[INFO] [stdout] 116 | pub struct CtxConfig {
[INFO] [stdout]     |            --------- `CtxConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:47
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                               ^--------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               `Serialize` is not local
[INFO] [stdout]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/ctx.rs:166:58
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                          ^----------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `Deserialize` is not local
[INFO] [stdout]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxBuilder`
[INFO] [stdout] 167 | pub struct CtxBuilder {
[INFO] [stdout]     |            ---------- `CtxBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:45
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                             ^--------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             `Serialize` is not local
[INFO] [stdout]      |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/endpoint.rs:1212:56
[INFO] [stdout]      |
[INFO] [stdout] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stdout]      |                                                        ^----------
[INFO] [stdout]      |                                                        |
[INFO] [stdout]      |                                                        `Deserialize` is not local
[INFO] [stdout]      |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Endpoint`
[INFO] [stdout] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 1214 | pub enum Endpoint {
[INFO] [stdout]      |          -------- `Endpoint` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/group.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 62 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/group.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn to_string_lossy(&self) -> Cow<str> {
[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] 199 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[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/msg.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/msg.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RoutingId`
[INFO] [stdout] 53 | pub struct RoutingId(pub u32);
[INFO] [stdout]    |            --------- `RoutingId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 219 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:272:20
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!(msg_from_errno(errno));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 272 |             panic!("{}", msg_from_errno(errno));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:289:20
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!(msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 289 |             panic!("{}", msg_from_errno(sys::zmq_errno()));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/msg.rs:356:29
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/msg.rs:388:13
[INFO] [stdout]     |
[INFO] [stdout] 388 |             Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[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] 388 |             let _ = Box::from_raw(data as *mut u8);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/old.rs:48:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 48 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/poll.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter(&self) -> Iter {
[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] 334 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:514:29
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:551:29
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 551 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:612:29
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:638:29
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 638 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:688:29
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 688 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:716:29
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 716 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 746 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:812:20
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 812 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stdout]     |                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/poll.rs:828:29
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 828 |                 _ => panic!("{}", msg_from_errno(errno)),
[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/socket/mod.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                             ^--------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `Serialize` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/socket/mod.rs:61:56
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]    |                                                        ^----------
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        `Deserialize` is not local
[INFO] [stdout]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfigType`
[INFO] [stdout] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 63 | pub enum ConfigType {
[INFO] [stdout]    |          ---------- `ConfigType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:54
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:138:65
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientConfig`
[INFO] [stdout] ...
[INFO] [stdout] 141 | pub struct ClientConfig {
[INFO] [stdout]     |            ------------ `ClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatClientConfig`
[INFO] [stdout] 175 | struct FlatClientConfig {
[INFO] [stdout]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:54
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/client.rs:283:65
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientBuilder`
[INFO] [stdout] 284 | pub struct ClientBuilder {
[INFO] [stdout]     |            ------------- `ClientBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]    |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/socket/dish.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 53 |             _ => panic!("{}", msg_from_errno(errno)),
[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/socket/dish.rs:312:54
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:312:65
[INFO] [stdout]     |
[INFO] [stdout] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishConfig`
[INFO] [stdout] ...
[INFO] [stdout] 315 | pub struct DishConfig {
[INFO] [stdout]     |            ---------- `DishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:17
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:362:28
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatDishConfig`
[INFO] [stdout] 363 | struct FlatDishConfig {
[INFO] [stdout]     |        -------------- `FlatDishConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:54
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/dish.rs:432:65
[INFO] [stdout]     |
[INFO] [stdout] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishBuilder`
[INFO] [stdout] 433 | pub struct DishBuilder {
[INFO] [stdout]     |            ----------- `DishBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:54
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:136:65
[INFO] [stdout]     |
[INFO] [stdout] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherConfig`
[INFO] [stdout] ...
[INFO] [stdout] 139 | pub struct GatherConfig {
[INFO] [stdout]     |            ------------ `GatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatGatherConfig`
[INFO] [stdout] 170 | struct FlatGatherConfig {
[INFO] [stdout]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:54
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/gather.rs:255:65
[INFO] [stdout]     |
[INFO] [stdout] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherBuilder`
[INFO] [stdout] 256 | pub struct GatherBuilder {
[INFO] [stdout]     |            ------------- `GatherBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:54
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:203:65
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RadioConfig`
[INFO] [stdout] ...
[INFO] [stdout] 206 | pub struct RadioConfig {
[INFO] [stdout]     |            ----------- `RadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |          ^--------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `Serialize` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/radio.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]     |                     ^----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatRadioConfig`
[INFO] [stdout] 253 | struct FlatRadioConfig {
[INFO] [stdout]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:54
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:127:65
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterConfig`
[INFO] [stdout] ...
[INFO] [stdout] 130 | pub struct ScatterConfig {
[INFO] [stdout]     |            ------------- `ScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatScatterConfig`
[INFO] [stdout] 161 | struct FlatScatterConfig {
[INFO] [stdout]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:54
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/scatter.rs:246:65
[INFO] [stdout]     |
[INFO] [stdout] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterBuilder`
[INFO] [stdout] 247 | pub struct ScatterBuilder {
[INFO] [stdout]     |            -------------- `ScatterBuilder` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:54
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                      ^--------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `Serialize` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:176:65
[INFO] [stdout]     |
[INFO] [stdout] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stdout]     |                                                                 ^----------
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 `Deserialize` is not local
[INFO] [stdout]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ServerConfig`
[INFO] [stdout] ...
[INFO] [stdout] 179 | pub struct ServerConfig {
[INFO] [stdout]     |            ------------ `ServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                 ^--------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/socket/server.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                            ^----------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatServerConfig`
[INFO] [stdout] 216 | struct FlatServerConfig {
[INFO] [stdout]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/utils.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!(msg_from_errno(errno)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 107 |         _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stdout]     |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.84s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "c66ce364de9225095711a68346fe31320abe11541ddf752c49d64ec6c4dbb7cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c66ce364de9225095711a68346fe31320abe11541ddf752c49d64ec6c4dbb7cc", kill_on_drop: false }`
[INFO] [stdout] c66ce364de9225095711a68346fe31320abe11541ddf752c49d64ec6c4dbb7cc
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2ad833c48001cab3023ceea7fdcbab8488a88cdfa04171ab305f78cc25c6e86e
[INFO] running `Command { std: "docker" "start" "-a" "2ad833c48001cab3023ceea7fdcbab8488a88cdfa04171ab305f78cc25c6e86e", kill_on_drop: false }`
[INFO] [stderr] warning: fields `version`, `domain`, and `identity` are never read
[INFO] [stderr]   --> src/auth/server.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | struct ZapRequest {
[INFO] [stderr]    |        ---------- fields in this struct
[INFO] [stderr] 95 |     version: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 96 |     request_id: Msg,
[INFO] [stderr] 97 |     domain: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 98 |     addr: Ipv6Addr,
[INFO] [stderr] 99 |     identity: Msg,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ZapRequest` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) 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/core/mod.rs:60:51
[INFO] [stderr]    |
[INFO] [stderr] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                                   ^--------
[INFO] [stderr]    |                                                   |
[INFO] [stderr]    |                                                   `Serialize` is not local
[INFO] [stderr]    |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_HighWaterMark`
[INFO] [stderr] ...
[INFO] [stderr] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stderr]    |                   ------------- `HighWaterMark` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/core/mod.rs:60:62
[INFO] [stderr]    |
[INFO] [stderr] 60 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                                              ^----------
[INFO] [stderr]    |                                                              |
[INFO] [stderr]    |                                                              `Deserialize` is not local
[INFO] [stderr]    |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_HighWaterMark`
[INFO] [stderr] ...
[INFO] [stderr] 63 | pub(crate) struct HighWaterMark(i32);
[INFO] [stderr]    |                   ------------- `HighWaterMark` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/core/mod.rs:98:51
[INFO] [stderr]     |
[INFO] [stderr]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stderr]     |                                                   ^----------
[INFO] [stderr]     |                                                   |
[INFO] [stderr]     |                                                   `Deserialize` is not local
[INFO] [stderr]     |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BatchSize`
[INFO] [stderr] ...
[INFO] [stderr] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stderr]     |                   --------- `BatchSize` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/core/mod.rs:98:64
[INFO] [stderr]     |
[INFO] [stderr]  98 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
[INFO] [stderr]     |                                                                ^--------
[INFO] [stderr]     |                                                                |
[INFO] [stderr]     |                                                                `Serialize` is not local
[INFO] [stderr]     |                                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BatchSize`
[INFO] [stderr] ...
[INFO] [stderr] 101 | pub(crate) struct BatchSize(i32);
[INFO] [stderr]     |                   --------- `BatchSize` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/core/mod.rs:137:51
[INFO] [stderr]     |
[INFO] [stderr] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                   ^--------
[INFO] [stderr]     |                                                   |
[INFO] [stderr]     |                                                   `Serialize` is not local
[INFO] [stderr]     |                                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Period`
[INFO] [stderr] ...
[INFO] [stderr] 140 | pub enum Period {
[INFO] [stderr]     |          ------ `Period` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/core/mod.rs:137:62
[INFO] [stderr]     |
[INFO] [stderr] 137 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                              ^----------
[INFO] [stderr]     |                                                              |
[INFO] [stderr]     |                                                              `Deserialize` is not local
[INFO] [stderr]     |                                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Period`
[INFO] [stderr] ...
[INFO] [stderr] 140 | pub enum Period {
[INFO] [stderr]     |          ------ `Period` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/core/heartbeat.rs:48:45
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                             ^--------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `Serialize` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Heartbeat`
[INFO] [stderr] 49 | pub struct Heartbeat {
[INFO] [stderr]    |            --------- `Heartbeat` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/core/heartbeat.rs:48:56
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                                        ^----------
[INFO] [stderr]    |                                                        |
[INFO] [stderr]    |                                                        `Deserialize` is not local
[INFO] [stderr]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Heartbeat`
[INFO] [stderr] 49 | pub struct Heartbeat {
[INFO] [stderr]    |            --------- `Heartbeat` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/core/raw.rs:77:25
[INFO] [stderr]    |
[INFO] [stderr] 77 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 77 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/raw.rs:107:25
[INFO] [stderr]     |
[INFO] [stderr] 107 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 107 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/raw.rs:130:25
[INFO] [stderr]     |
[INFO] [stderr] 130 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 130 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/raw.rs:153:25
[INFO] [stderr]     |
[INFO] [stderr] 153 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 153 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/raw.rs:201:29
[INFO] [stderr]     |
[INFO] [stderr] 201 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 201 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/core/recv.rs:35:25
[INFO] [stderr]    |
[INFO] [stderr] 35 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 35 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/core/send.rs:41:25
[INFO] [stderr]    |
[INFO] [stderr] 41 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 41 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/sockopt.rs:117:25
[INFO] [stderr]     |
[INFO] [stderr] 117 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 117 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/core/sockopt.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 223 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 223 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/auth/mod.rs:35:45
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                             ^--------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `Serialize` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlainClientCreds`
[INFO] [stderr] 36 | pub struct PlainClientCreds {
[INFO] [stderr]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/mod.rs:35:56
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                                        ^----------
[INFO] [stderr]    |                                                        |
[INFO] [stderr]    |                                                        `Deserialize` is not local
[INFO] [stderr]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlainClientCreds`
[INFO] [stderr] 36 | pub struct PlainClientCreds {
[INFO] [stderr]    |            ---------------- `PlainClientCreds` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/mod.rs:108:45
[INFO] [stderr]     |
[INFO] [stderr] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                             ^--------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `Serialize` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Mechanism`
[INFO] [stderr] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 110 | pub enum Mechanism {
[INFO] [stderr]     |          --------- `Mechanism` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/mod.rs:108:56
[INFO] [stderr]     |
[INFO] [stderr] 108 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                        ^----------
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        `Deserialize` is not local
[INFO] [stderr]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Mechanism`
[INFO] [stderr] 109 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 110 | pub enum Mechanism {
[INFO] [stderr]     |          --------- `Mechanism` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/client.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stderr]   |                        ^--------
[INFO] [stderr]   |                        |
[INFO] [stderr]   |                        `Serialize` is not local
[INFO] [stderr]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthRequest`
[INFO] [stderr] 9 | pub(crate) enum AuthRequest {
[INFO] [stderr]   |                 ----------- `AuthRequest` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/client.rs:8:35
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stderr]   |                                   ^----------
[INFO] [stderr]   |                                   |
[INFO] [stderr]   |                                   `Deserialize` is not local
[INFO] [stderr]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthRequest`
[INFO] [stderr] 9 | pub(crate) enum AuthRequest {
[INFO] [stderr]   |                 ----------- `AuthRequest` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/client.rs:25:24
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stderr]    |                        ^--------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Serialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthReply`
[INFO] [stderr] 26 | pub(crate) enum AuthReply {
[INFO] [stderr]    |                 --------- `AuthReply` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/client.rs:25:35
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthReply`
[INFO] [stderr] 26 | pub(crate) enum AuthReply {
[INFO] [stderr]    |                 --------- `AuthReply` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/client.rs:338:54
[INFO] [stderr]     |
[INFO] [stderr] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthConfig`
[INFO] [stderr] 339 | pub struct AuthConfig {
[INFO] [stderr]     |            ---------- `AuthConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/client.rs:338:65
[INFO] [stderr]     |
[INFO] [stderr] 338 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthConfig`
[INFO] [stderr] 339 | pub struct AuthConfig {
[INFO] [stderr]     |            ---------- `AuthConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/client.rs:438:54
[INFO] [stderr]     |
[INFO] [stderr] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthBuilder`
[INFO] [stderr] 439 | pub struct AuthBuilder {
[INFO] [stderr]     |            ----------- `AuthBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/client.rs:438:65
[INFO] [stderr]     |
[INFO] [stderr] 438 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthBuilder`
[INFO] [stderr] 439 | pub struct AuthBuilder {
[INFO] [stderr]     |            ----------- `AuthBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/curve.rs:142:38
[INFO] [stderr]     |
[INFO] [stderr] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                      ^--------
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      `Serialize` is not local
[INFO] [stderr]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurvePublicKey`
[INFO] [stderr] 143 | #[serde(transparent)]
[INFO] [stderr] 144 | pub struct CurvePublicKey {
[INFO] [stderr]     |            -------------- `CurvePublicKey` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/curve.rs:142:49
[INFO] [stderr]     |
[INFO] [stderr] 142 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                 ^----------
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurvePublicKey`
[INFO] [stderr] 143 | #[serde(transparent)]
[INFO] [stderr] 144 | pub struct CurvePublicKey {
[INFO] [stderr]     |            -------------- `CurvePublicKey` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/curve.rs:268:38
[INFO] [stderr]     |
[INFO] [stderr] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                      ^--------
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      `Serialize` is not local
[INFO] [stderr]     |                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveSecretKey`
[INFO] [stderr] 269 | #[serde(transparent)]
[INFO] [stderr] 270 | pub struct CurveSecretKey {
[INFO] [stderr]     |            -------------- `CurveSecretKey` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/curve.rs:268:49
[INFO] [stderr]     |
[INFO] [stderr] 268 | #[derive(Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                 ^----------
[INFO] [stderr]     |                                                 |
[INFO] [stderr]     |                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveSecretKey`
[INFO] [stderr] 269 | #[serde(transparent)]
[INFO] [stderr] 270 | pub struct CurveSecretKey {
[INFO] [stderr]     |            -------------- `CurveSecretKey` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/curve.rs:517:45
[INFO] [stderr]     |
[INFO] [stderr] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                             ^--------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `Serialize` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveCert`
[INFO] [stderr] 518 | pub struct CurveCert {
[INFO] [stderr]     |            --------- `CurveCert` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/curve.rs:517:56
[INFO] [stderr]     |
[INFO] [stderr] 517 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                        ^----------
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        `Deserialize` is not local
[INFO] [stderr]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveCert`
[INFO] [stderr] 518 | pub struct CurveCert {
[INFO] [stderr]     |            --------- `CurveCert` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/curve.rs:645:45
[INFO] [stderr]     |
[INFO] [stderr] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                             ^--------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `Serialize` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveClientCreds`
[INFO] [stderr] 646 | pub struct CurveClientCreds {
[INFO] [stderr]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/curve.rs:645:56
[INFO] [stderr]     |
[INFO] [stderr] 645 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                        ^----------
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        `Deserialize` is not local
[INFO] [stderr]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveClientCreds`
[INFO] [stderr] 646 | pub struct CurveClientCreds {
[INFO] [stderr]     |            ---------------- `CurveClientCreds` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/auth/curve.rs:710:45
[INFO] [stderr]     |
[INFO] [stderr] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                             ^--------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `Serialize` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CurveServerCreds`
[INFO] [stderr] 711 | pub struct CurveServerCreds {
[INFO] [stderr]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/auth/curve.rs:710:56
[INFO] [stderr]     |
[INFO] [stderr] 710 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                        ^----------
[INFO] [stderr]     |                                                        |
[INFO] [stderr]     |                                                        `Deserialize` is not local
[INFO] [stderr]     |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CurveServerCreds`
[INFO] [stderr] 711 | pub struct CurveServerCreds {
[INFO] [stderr]     |            ---------------- `CurveServerCreds` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/ctx.rs:53:20
[INFO] [stderr]    |
[INFO] [stderr] 53 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 53 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stderr]    |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/ctx.rs:72:29
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/ctx.rs:115:47
[INFO] [stderr]     |
[INFO] [stderr] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                               ^--------
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               `Serialize` is not local
[INFO] [stderr]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxConfig`
[INFO] [stderr] 116 | pub struct CtxConfig {
[INFO] [stderr]     |            --------- `CtxConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/ctx.rs:115:58
[INFO] [stderr]     |
[INFO] [stderr] 115 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                          ^----------
[INFO] [stderr]     |                                                          |
[INFO] [stderr]     |                                                          `Deserialize` is not local
[INFO] [stderr]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxConfig`
[INFO] [stderr] 116 | pub struct CtxConfig {
[INFO] [stderr]     |            --------- `CtxConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/ctx.rs:166:47
[INFO] [stderr]     |
[INFO] [stderr] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                               ^--------
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               `Serialize` is not local
[INFO] [stderr]     |                                               move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CtxBuilder`
[INFO] [stderr] 167 | pub struct CtxBuilder {
[INFO] [stderr]     |            ---------- `CtxBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/ctx.rs:166:58
[INFO] [stderr]     |
[INFO] [stderr] 166 | #[derive(Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                          ^----------
[INFO] [stderr]     |                                                          |
[INFO] [stderr]     |                                                          `Deserialize` is not local
[INFO] [stderr]     |                                                          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CtxBuilder`
[INFO] [stderr] 167 | pub struct CtxBuilder {
[INFO] [stderr]     |            ---------- `CtxBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/endpoint.rs:1212:45
[INFO] [stderr]      |
[INFO] [stderr] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stderr]      |                                             ^--------
[INFO] [stderr]      |                                             |
[INFO] [stderr]      |                                             `Serialize` is not local
[INFO] [stderr]      |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Endpoint`
[INFO] [stderr] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 1214 | pub enum Endpoint {
[INFO] [stderr]      |          -------- `Endpoint` is not local
[INFO] [stderr]      |
[INFO] [stderr]      = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]      = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/endpoint.rs:1212:56
[INFO] [stderr]      |
[INFO] [stderr] 1212 | #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
[INFO] [stderr]      |                                                        ^----------
[INFO] [stderr]      |                                                        |
[INFO] [stderr]      |                                                        `Deserialize` is not local
[INFO] [stderr]      |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Endpoint`
[INFO] [stderr] 1213 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 1214 | pub enum Endpoint {
[INFO] [stderr]      |          -------- `Endpoint` is not local
[INFO] [stderr]      |
[INFO] [stderr]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/group.rs:62:28
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn to_string_lossy(&self) -> Cow<str> {
[INFO] [stderr]    |                            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/group.rs:199:28
[INFO] [stderr]     |
[INFO] [stderr] 199 |     pub fn to_string_lossy(&self) -> Cow<str> {
[INFO] [stderr]     |                            ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 199 |     pub fn to_string_lossy(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/msg.rs:52:45
[INFO] [stderr]    |
[INFO] [stderr] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stderr]    |                                             ^--------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `Serialize` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RoutingId`
[INFO] [stderr] 53 | pub struct RoutingId(pub u32);
[INFO] [stderr]    |            --------- `RoutingId` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/msg.rs:52:56
[INFO] [stderr]    |
[INFO] [stderr] 52 | #[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)]
[INFO] [stderr]    |                                                        ^----------
[INFO] [stderr]    |                                                        |
[INFO] [stderr]    |                                                        `Deserialize` is not local
[INFO] [stderr]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RoutingId`
[INFO] [stderr] 53 | pub struct RoutingId(pub u32);
[INFO] [stderr]    |            --------- `RoutingId` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/msg.rs:219:20
[INFO] [stderr]     |
[INFO] [stderr] 219 |             panic!(msg_from_errno(errno));
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 219 |             panic!("{}", msg_from_errno(errno));
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/msg.rs:272:20
[INFO] [stderr]     |
[INFO] [stderr] 272 |             panic!(msg_from_errno(errno));
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 272 |             panic!("{}", msg_from_errno(errno));
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/msg.rs:289:20
[INFO] [stderr]     |
[INFO] [stderr] 289 |             panic!(msg_from_errno(sys::zmq_errno()));
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 289 |             panic!("{}", msg_from_errno(sys::zmq_errno()));
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/msg.rs:356:29
[INFO] [stderr]     |
[INFO] [stderr] 356 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 356 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stderr]    --> src/msg.rs:388:13
[INFO] [stderr]     |
[INFO] [stderr] 388 |             Box::from_raw(data as *mut u8);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 388 |             let _ = Box::from_raw(data as *mut u8);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/old.rs:30:25
[INFO] [stderr]    |
[INFO] [stderr] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/old.rs:48:25
[INFO] [stderr]    |
[INFO] [stderr] 48 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 48 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/poll.rs:334:17
[INFO] [stderr]     |
[INFO] [stderr] 334 |     pub fn iter(&self) -> Iter {
[INFO] [stderr]     |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 334 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stderr]     |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:514:29
[INFO] [stderr]     |
[INFO] [stderr] 514 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 514 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:551:29
[INFO] [stderr]     |
[INFO] [stderr] 551 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 551 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:612:29
[INFO] [stderr]     |
[INFO] [stderr] 612 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 612 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:638:29
[INFO] [stderr]     |
[INFO] [stderr] 638 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 638 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:688:29
[INFO] [stderr]     |
[INFO] [stderr] 688 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 688 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:716:29
[INFO] [stderr]     |
[INFO] [stderr] 716 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 716 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:746:29
[INFO] [stderr]     |
[INFO] [stderr] 746 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 746 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:812:20
[INFO] [stderr]     |
[INFO] [stderr] 812 |             panic!(msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 812 |             panic!("{}", msg_from_errno(unsafe { sys::zmq_errno() }));
[INFO] [stderr]     |                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/poll.rs:828:29
[INFO] [stderr]     |
[INFO] [stderr] 828 |                 _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 828 |                 _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/socket/mod.rs:61:45
[INFO] [stderr]    |
[INFO] [stderr] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                             ^--------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `Serialize` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfigType`
[INFO] [stderr] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 63 | pub enum ConfigType {
[INFO] [stderr]    |          ---------- `ConfigType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/mod.rs:61:56
[INFO] [stderr]    |
[INFO] [stderr] 61 | #[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]    |                                                        ^----------
[INFO] [stderr]    |                                                        |
[INFO] [stderr]    |                                                        `Deserialize` is not local
[INFO] [stderr]    |                                                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfigType`
[INFO] [stderr] 62 | #[serde(rename_all = "snake_case")]
[INFO] [stderr] 63 | pub enum ConfigType {
[INFO] [stderr]    |          ---------- `ConfigType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/client.rs:138:54
[INFO] [stderr]     |
[INFO] [stderr] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientConfig`
[INFO] [stderr] ...
[INFO] [stderr] 141 | pub struct ClientConfig {
[INFO] [stderr]     |            ------------ `ClientConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/client.rs:138:65
[INFO] [stderr]     |
[INFO] [stderr] 138 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientConfig`
[INFO] [stderr] ...
[INFO] [stderr] 141 | pub struct ClientConfig {
[INFO] [stderr]     |            ------------ `ClientConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/client.rs:174:17
[INFO] [stderr]     |
[INFO] [stderr] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                 ^--------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Serialize` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatClientConfig`
[INFO] [stderr] 175 | struct FlatClientConfig {
[INFO] [stderr]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/client.rs:174:28
[INFO] [stderr]     |
[INFO] [stderr] 174 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                            ^----------
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            `Deserialize` is not local
[INFO] [stderr]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatClientConfig`
[INFO] [stderr] 175 | struct FlatClientConfig {
[INFO] [stderr]     |        ---------------- `FlatClientConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/client.rs:283:54
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ClientBuilder`
[INFO] [stderr] 284 | pub struct ClientBuilder {
[INFO] [stderr]     |            ------------- `ClientBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/client.rs:283:65
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ClientBuilder`
[INFO] [stderr] 284 | pub struct ClientBuilder {
[INFO] [stderr]     |            ------------- `ClientBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/socket/dish.rs:30:25
[INFO] [stderr]    |
[INFO] [stderr] 30 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 30 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/socket/dish.rs:53:25
[INFO] [stderr]    |
[INFO] [stderr] 53 |             _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 53 |             _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]    |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/socket/dish.rs:312:54
[INFO] [stderr]     |
[INFO] [stderr] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishConfig`
[INFO] [stderr] ...
[INFO] [stderr] 315 | pub struct DishConfig {
[INFO] [stderr]     |            ---------- `DishConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/dish.rs:312:65
[INFO] [stderr]     |
[INFO] [stderr] 312 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishConfig`
[INFO] [stderr] ...
[INFO] [stderr] 315 | pub struct DishConfig {
[INFO] [stderr]     |            ---------- `DishConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/dish.rs:362:17
[INFO] [stderr]     |
[INFO] [stderr] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                 ^--------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Serialize` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatDishConfig`
[INFO] [stderr] 363 | struct FlatDishConfig {
[INFO] [stderr]     |        -------------- `FlatDishConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/dish.rs:362:28
[INFO] [stderr]     |
[INFO] [stderr] 362 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                            ^----------
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            `Deserialize` is not local
[INFO] [stderr]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatDishConfig`
[INFO] [stderr] 363 | struct FlatDishConfig {
[INFO] [stderr]     |        -------------- `FlatDishConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/dish.rs:432:54
[INFO] [stderr]     |
[INFO] [stderr] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DishBuilder`
[INFO] [stderr] 433 | pub struct DishBuilder {
[INFO] [stderr]     |            ----------- `DishBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/dish.rs:432:65
[INFO] [stderr]     |
[INFO] [stderr] 432 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DishBuilder`
[INFO] [stderr] 433 | pub struct DishBuilder {
[INFO] [stderr]     |            ----------- `DishBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/gather.rs:136:54
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherConfig`
[INFO] [stderr] ...
[INFO] [stderr] 139 | pub struct GatherConfig {
[INFO] [stderr]     |            ------------ `GatherConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/gather.rs:136:65
[INFO] [stderr]     |
[INFO] [stderr] 136 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherConfig`
[INFO] [stderr] ...
[INFO] [stderr] 139 | pub struct GatherConfig {
[INFO] [stderr]     |            ------------ `GatherConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/gather.rs:169:17
[INFO] [stderr]     |
[INFO] [stderr] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                 ^--------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Serialize` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatGatherConfig`
[INFO] [stderr] 170 | struct FlatGatherConfig {
[INFO] [stderr]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/gather.rs:169:28
[INFO] [stderr]     |
[INFO] [stderr] 169 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                            ^----------
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            `Deserialize` is not local
[INFO] [stderr]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatGatherConfig`
[INFO] [stderr] 170 | struct FlatGatherConfig {
[INFO] [stderr]     |        ---------------- `FlatGatherConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/gather.rs:255:54
[INFO] [stderr]     |
[INFO] [stderr] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GatherBuilder`
[INFO] [stderr] 256 | pub struct GatherBuilder {
[INFO] [stderr]     |            ------------- `GatherBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/gather.rs:255:65
[INFO] [stderr]     |
[INFO] [stderr] 255 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GatherBuilder`
[INFO] [stderr] 256 | pub struct GatherBuilder {
[INFO] [stderr]     |            ------------- `GatherBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/radio.rs:203:54
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RadioConfig`
[INFO] [stderr] ...
[INFO] [stderr] 206 | pub struct RadioConfig {
[INFO] [stderr]     |            ----------- `RadioConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/radio.rs:203:65
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RadioConfig`
[INFO] [stderr] ...
[INFO] [stderr] 206 | pub struct RadioConfig {
[INFO] [stderr]     |            ----------- `RadioConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/radio.rs:252:10
[INFO] [stderr]     |
[INFO] [stderr] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |          ^--------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `Serialize` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatRadioConfig`
[INFO] [stderr] 253 | struct FlatRadioConfig {
[INFO] [stderr]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/radio.rs:252:21
[INFO] [stderr]     |
[INFO] [stderr] 252 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]     |                     ^----------
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     `Deserialize` is not local
[INFO] [stderr]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatRadioConfig`
[INFO] [stderr] 253 | struct FlatRadioConfig {
[INFO] [stderr]     |        --------------- `FlatRadioConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/scatter.rs:127:54
[INFO] [stderr]     |
[INFO] [stderr] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterConfig`
[INFO] [stderr] ...
[INFO] [stderr] 130 | pub struct ScatterConfig {
[INFO] [stderr]     |            ------------- `ScatterConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/scatter.rs:127:65
[INFO] [stderr]     |
[INFO] [stderr] 127 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterConfig`
[INFO] [stderr] ...
[INFO] [stderr] 130 | pub struct ScatterConfig {
[INFO] [stderr]     |            ------------- `ScatterConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/scatter.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                 ^--------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Serialize` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatScatterConfig`
[INFO] [stderr] 161 | struct FlatScatterConfig {
[INFO] [stderr]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/scatter.rs:160:28
[INFO] [stderr]     |
[INFO] [stderr] 160 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                            ^----------
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            `Deserialize` is not local
[INFO] [stderr]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatScatterConfig`
[INFO] [stderr] 161 | struct FlatScatterConfig {
[INFO] [stderr]     |        ----------------- `FlatScatterConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/scatter.rs:246:54
[INFO] [stderr]     |
[INFO] [stderr] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ScatterBuilder`
[INFO] [stderr] 247 | pub struct ScatterBuilder {
[INFO] [stderr]     |            -------------- `ScatterBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/scatter.rs:246:65
[INFO] [stderr]     |
[INFO] [stderr] 246 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ScatterBuilder`
[INFO] [stderr] 247 | pub struct ScatterBuilder {
[INFO] [stderr]     |            -------------- `ScatterBuilder` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/server.rs:176:54
[INFO] [stderr]     |
[INFO] [stderr] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                      ^--------
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `Serialize` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ServerConfig`
[INFO] [stderr] ...
[INFO] [stderr] 179 | pub struct ServerConfig {
[INFO] [stderr]     |            ------------ `ServerConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/server.rs:176:65
[INFO] [stderr]     |
[INFO] [stderr] 176 | #[derive(Debug, Default, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
[INFO] [stderr]     |                                                                 ^----------
[INFO] [stderr]     |                                                                 |
[INFO] [stderr]     |                                                                 `Deserialize` is not local
[INFO] [stderr]     |                                                                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ServerConfig`
[INFO] [stderr] ...
[INFO] [stderr] 179 | pub struct ServerConfig {
[INFO] [stderr]     |            ------------ `ServerConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (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/socket/server.rs:215:17
[INFO] [stderr]     |
[INFO] [stderr] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                 ^--------
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 `Serialize` is not local
[INFO] [stderr]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FlatServerConfig`
[INFO] [stderr] 216 | struct FlatServerConfig {
[INFO] [stderr]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Serialize` (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/socket/server.rs:215:28
[INFO] [stderr]     |
[INFO] [stderr] 215 | #[derive(Clone, Serialize, Deserialize)]
[INFO] [stderr]     |                            ^----------
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            `Deserialize` is not local
[INFO] [stderr]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FlatServerConfig`
[INFO] [stderr] 216 | struct FlatServerConfig {
[INFO] [stderr]     |        ---------------- `FlatServerConfig` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/utils.rs:107:21
[INFO] [stderr]     |
[INFO] [stderr] 107 |         _ => panic!(msg_from_errno(errno)),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 107 |         _ => panic!("{}", msg_from_errno(errno)),
[INFO] [stderr]     |                     +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `libzmq` (lib) generated 106 warnings (run `cargo fix --lib -p libzmq` to apply 32 suggestions)
[INFO] [stderr] warning: `libzmq` (lib test) generated 106 warnings (106 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libzmq-ad669e39ca102102)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test auth::curve::tests::codec_chunk_quickcheck ... ok
[INFO] [stdout] test auth::curve::tests::curve_key_new ... ok
[INFO] [stdout] test auth::curve::tests::curve_key_new_invalid_byte ... ok
[INFO] [stdout] test auth::client::test::test_whitelist ... ok
[INFO] [stdout] test auth::curve::tests::curve_key_new_invalid_size ... ok
[INFO] [stdout] test auth::curve::tests::seven_bit_letters ... ok
[INFO] [stdout] test auth::curve::tests::z85_decode_rfc ... ok
[INFO] [stdout] test auth::curve::tests::z85_encode_chunk_rfc ... ok
[INFO] [stdout] test auth::curve::tests::z85_encode_rfc ... ok
[INFO] [stdout] test auth::client::test::test_null ... ok
[INFO] [stdout] test auth::client::test::test_plain ... ok
[INFO] [stdout] test endpoint::test::inproc::test_ser_de ... ok
[INFO] [stdout] test endpoint::test::pgm::test_ser_de ... ok
[INFO] [stdout] test endpoint::test::tcp::test_ser_de ... ok
[INFO] [stdout] test socket::client::test::test_ser_de ... ok
[INFO] [stdout] test endpoint::test::udp::test_ser_de ... ok
[INFO] [stdout] test msg::tests::test_cast_routing_id_slice ... ok
[INFO] [stdout] test poll::test::test_trigger ... ok
[INFO] [stdout] test auth::curve::tests::curve_cert_new_unique ... ok
[INFO] [stdout] test auth::curve::tests::codec_quickcheck ... ok
[INFO] [stdout] test endpoint::test::epgm::test_ser_de ... ok
[INFO] [stdout] test socket::dish::test::test_ser_de ... ok
[INFO] [stdout] test socket::scatter::test::test_scatter ... ok
[INFO] [stdout] test socket::gather::test::test_ser_de ... ok
[INFO] [stdout] test socket::gather::test::test_gather ... ok
[INFO] [stdout] test auth::curve::tests::z85_decode_chunk_rfc ... ok
[INFO] [stdout] test socket::gather::test::test_issue_125 ... ok
[INFO] [stdout] test auth::client::test::test_blacklist ... ok
[INFO] [stdout] test socket::radio::test::test_ser_de ... ok
[INFO] [stdout] test socket::scatter::test::test_ser_de ... ok
[INFO] [stdout] test auth::curve::tests::curve_key_from_secret ... ok
[INFO] [stdout] test test::test_html_root_url ... ok
[INFO] [stdout] test socket::server::test::test_ser_de ... ok
[INFO] [stdout] test socket::dish::test::test_dish ... ok
[INFO] [stdout] test test::test_readme_deps ... FAILED
[INFO] [stdout] test core::test::test_disconnect_bind ... ok
[INFO] [stdout] test auth::client::test::test_plain_denied ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test core::test::test_disconnect_connection ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::test_readme_deps stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test::test_readme_deps' (75) panicked at src/lib.rs:74:9:
[INFO] [stdout] could not read ../README.md: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x62dadffa1a52 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x62dadffa1a52 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x62dadffa1a52 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x62dadffa1a52 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x62dadffb352a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x62dadffb352a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x62dadff703d6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x62dadff703d6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x62dadff80cf9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x62dadff80cf9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x62dadff80b91 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x62dadfd450fe - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x62dadfd450fe - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x62dadff81022 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x62dadff81022 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x62dadfa344ab - std::panicking::begin_panic::{{closure}}::hd8af06b533fb84ef
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:762:9
[INFO] [stdout]   16:     0x62dadfa9df56 - std::sys::backtrace::__rust_end_short_backtrace::h096dd66b80bafaa1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x62dadfa34447 - std::panicking::begin_panic::hee75af6f6243dde5
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:761:5
[INFO] [stdout]   18:     0x62dadfa1e980 - libzmq::test::test_readme_deps::h8c132a2fff2ec4e0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:74:9
[INFO] [stdout]   19:     0x62dadfa1e9a7 - libzmq::test::test_readme_deps::{{closure}}::h4180086f7ba8255d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:73:26
[INFO] [stdout]   20:     0x62dadfa88286 - core::ops::function::FnOnce::call_once::he3628f63f2b84a22
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x62dadfd44ebb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x62dadfd44ebb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   23:     0x62dadfd588ca - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   24:     0x62dadfd588ca - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   25:     0x62dadfd588ca - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   26:     0x62dadfd588ca - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   27:     0x62dadfd588ca - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   28:     0x62dadfd588ca - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   29:     0x62dadfd588ca - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   30:     0x62dadfd32d24 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   31:     0x62dadfd32d24 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   32:     0x62dadfd366c2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   33:     0x62dadfd366c2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34:     0x62dadfd366c2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x62dadfd366c2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x62dadfd366c2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x62dadfd366c2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   38:     0x62dadfd366c2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x62dadff7745f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   40:     0x62dadff7745f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   41:     0x746cda3d7aa4 - <unknown>
[INFO] [stdout]   42:     0x746cda464a64 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test::test_readme_deps
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 37 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2ad833c48001cab3023ceea7fdcbab8488a88cdfa04171ab305f78cc25c6e86e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ad833c48001cab3023ceea7fdcbab8488a88cdfa04171ab305f78cc25c6e86e", kill_on_drop: false }`
[INFO] [stdout] 2ad833c48001cab3023ceea7fdcbab8488a88cdfa04171ab305f78cc25c6e86e
