[INFO] fetching crate libzmq 0.2.5...
[INFO] checking libzmq-0.2.5 against 1.95.0 for pr-155915
[INFO] extracting crate libzmq 0.2.5 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate libzmq 0.2.5 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded version-sync v0.9.0
[INFO] [stderr]   Downloaded url v2.1.1
[INFO] [stderr]   Downloaded smallvec v1.4.0
[INFO] [stderr]   Downloaded uuid v0.8.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.62
[INFO] [stderr]   Downloaded bincode v1.2.1
[INFO] [stderr]   Downloaded oorandom v11.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.62
[INFO] [stderr]   Downloaded dtoa v0.4.5
[INFO] [stderr]   Downloaded thiserror-impl v1.0.16
[INFO] [stderr]   Downloaded flatc-rust v0.1.2
[INFO] [stderr]   Downloaded thiserror v1.0.16
[INFO] [stderr]   Downloaded anyhow v1.0.28
[INFO] [stderr]   Downloaded serde_with v1.4.0
[INFO] [stderr]   Downloaded serde v1.0.107
[INFO] [stderr]   Downloaded tar v0.4.26
[INFO] [stderr]   Downloaded criterion-plot v0.4.2
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.62
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.62
[INFO] [stderr]   Downloaded cc v1.0.52
[INFO] [stderr]   Downloaded js-sys v0.3.39
[INFO] [stderr]   Downloaded pulldown-cmark v0.7.1
[INFO] [stderr]   Downloaded unicode-normalization v0.1.12
[INFO] [stderr]   Downloaded criterion v0.3.2
[INFO] [stderr]   Downloaded bumpalo v3.2.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.62
[INFO] [stderr]   Downloaded rayon v1.3.0
[INFO] [stderr]   Downloaded syn v1.0.19
[INFO] [stderr]   Downloaded rayon-core v1.7.0
[INFO] [stderr]   Downloaded serde_json v1.0.52
[INFO] [stderr]   Downloaded serde_yaml v0.8.11
[INFO] [stderr]   Downloaded tinytemplate v1.0.4
[INFO] [stderr]   Downloaded humantime v2.0.0
[INFO] [stderr]   Downloaded cmake v0.1.42
[INFO] [stderr]   Downloaded serde_derive v1.0.107
[INFO] [stderr]   Downloaded rand_isaac v0.2.0
[INFO] [stderr]   Downloaded memoffset v0.5.4
[INFO] [stderr]   Downloaded vcpkg v0.2.8
[INFO] [stderr]   Downloaded pkg-config v0.3.17
[INFO] [stderr]   Downloaded serde_with_macros v1.1.0
[INFO] [stderr]   Downloaded linked-hash-map v0.5.3
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.1
[INFO] [stderr]   Downloaded humantime-serde v1.0.0
[INFO] [stderr]   Downloaded filetime v0.2.10
[INFO] [stderr]   Downloaded libzmq-sys v0.1.8+4.3.2
[INFO] [stderr]   Downloaded web-sys v0.3.39
[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-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 98f7f28074bbb8c5f0b1b17e6b9cf75b80c3811d5b0a1b894f3a29da7d8b95a0
[INFO] running `Command { std: "docker" "start" "-a" "98f7f28074bbb8c5f0b1b17e6b9cf75b80c3811d5b0a1b894f3a29da7d8b95a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98f7f28074bbb8c5f0b1b17e6b9cf75b80c3811d5b0a1b894f3a29da7d8b95a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98f7f28074bbb8c5f0b1b17e6b9cf75b80c3811d5b0a1b894f3a29da7d8b95a0", kill_on_drop: false }`
[INFO] [stdout] 98f7f28074bbb8c5f0b1b17e6b9cf75b80c3811d5b0a1b894f3a29da7d8b95a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f280a482ac0cdccb79fc974766fb2dea03b7af1ee6a2ee232a1237bed6b3a94
[INFO] running `Command { std: "docker" "start" "-a" "1f280a482ac0cdccb79fc974766fb2dea03b7af1ee6a2ee232a1237bed6b3a94", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling syn v1.0.19
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling serde v1.0.107
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling cc v1.0.52
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling unicase v2.6.0
[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 rustc_version v0.2.3
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling cmake v0.1.42
[INFO] [stderr]    Compiling quote v1.0.4
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking unicode-xid v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling zeromq-src v0.1.10+4.3.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]     Checking unicode-normalization v0.1.12
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling libzmq-sys v0.1.8+4.3.2
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling pulldown-cmark v0.7.1
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking linked-hash-map v0.5.3
[INFO] [stderr]    Compiling anyhow v1.0.28
[INFO] [stderr]     Checking humantime v2.0.0
[INFO] [stderr]     Checking criterion-plot v0.4.2
[INFO] [stderr]     Checking uuid v0.8.1
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking yaml-rust v0.4.3
[INFO] [stderr]     Checking url v2.1.1
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking plotters v0.2.14
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.1
[INFO] [stderr]     Checking semver-parser v0.9.0
[INFO] [stderr]     Checking dtoa v0.4.5
[INFO] [stderr]     Checking quickcheck v0.9.2
[INFO] [stderr]     Checking rand_isaac v0.2.0
[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]     Checking thiserror v1.0.16
[INFO] [stderr]     Checking bstr v0.2.12
[INFO] [stderr]     Checking serde_json v1.0.52
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking serde_with v1.4.0
[INFO] [stderr]     Checking humantime-serde v1.0.0
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stderr]     Checking tinytemplate v1.0.4
[INFO] [stderr]     Checking serde_yaml v0.8.11
[INFO] [stderr]     Checking criterion v0.3.2
[INFO] [stderr]     Checking version-sync v0.9.0
[INFO] [stderr]     Checking 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] [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 1m 49s
[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 3`
[INFO] running `Command { std: "docker" "inspect" "1f280a482ac0cdccb79fc974766fb2dea03b7af1ee6a2ee232a1237bed6b3a94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f280a482ac0cdccb79fc974766fb2dea03b7af1ee6a2ee232a1237bed6b3a94", kill_on_drop: false }`
[INFO] [stdout] 1f280a482ac0cdccb79fc974766fb2dea03b7af1ee6a2ee232a1237bed6b3a94
