[INFO] fetching crate everscale-network 0.5.5...
[INFO] testing everscale-network-0.5.5 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate everscale-network 0.5.5 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate everscale-network 0.5.5
[INFO] removed 5 missing examples
[INFO] finished tweaking crates.io crate everscale-network 0.5.5
[INFO] tweaked toml for crates.io crate everscale-network 0.5.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate everscale-network 0.5.5 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate everscale-network 0.5.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a
[INFO] running `Command { std: "docker" "start" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling semver v1.0.19
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.9
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling platforms v3.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling zeroize v1.6.0
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling frunk_core v0.4.2
[INFO] [stderr]    Compiling everscale-raptorq v1.7.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.1
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling socket2 v0.5.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.3
[INFO] [stderr]    Compiling zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]    Compiling sha2 v0.10.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.0
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tokio v1.32.0
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling pest v2.7.3
[INFO] [stderr]    Compiling pest_meta v2.7.3
[INFO] [stderr]    Compiling pest_generator v2.7.3
[INFO] [stderr]    Compiling pest_derive v2.7.3
[INFO] [stderr]    Compiling tl-scheme v0.2.0
[INFO] [stderr]    Compiling tokio-util v0.7.9
[INFO] [stderr]    Compiling tl-proto-proc v0.4.3
[INFO] [stderr]    Compiling tl-proto v0.4.3
[INFO] [stderr]    Compiling everscale-crypto v0.2.0
[INFO] [stderr]    Compiling zstd v0.12.4
[INFO] [stderr]    Compiling everscale-network v0.5.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/node_id.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn as_tl(&self) -> tl::PublicKey {
[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] 29 |     pub fn as_tl(&self) -> tl::PublicKey<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/peers_set.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dht/buckets.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> std::slice::Iter<FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[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] 22 |     pub fn iter(&self) -> std::slice::Iter<'_, FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dht/storage.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 |     data: &[u8],
[INFO] [stdout]     |           ^^^^^ the lifetime is elided here
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node; 5]>> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node<'_>; 5]>> {
[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/overlay/overlay.rs:1271:10
[INFO] [stdout]      |
[INFO] [stdout] 1271 | #[derive(TlWrite)]
[INFO] [stdout]      |          ^------
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `TlWrite` is not local
[INFO] [stdout]      |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastToSign`
[INFO] [stdout] 1272 | #[tl(boxed, id = "overlay.broadcast.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 1273 | struct OverlayBroadcastToSign {
[INFO] [stdout]      |        ---------------------- `OverlayBroadcastToSign` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const 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 `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:30
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:38
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:38
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlRead` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueResultOwned`
[INFO] [stdout] 17 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 18 | pub enum ValueResultOwned {
[INFO] [stdout]    |          ---------------- `ValueResultOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 79 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/dht.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn as_equivalent_ref(&self) -> Value {
[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] 125 |     pub fn as_equivalent_ref(&self) -> Value<'_> {
[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/proto/dht.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:24
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:45
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:24
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:216:30
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn as_equivalent_ref(&self) -> Key {
[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] 216 |     pub fn as_equivalent_ref(&self) -> Key<'_> {
[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/proto/dht.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:23
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlWrite` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `TlRead` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                 ^------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `TlWrite` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `TlRead` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                             ^------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlWrite` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `TlRead` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/overlay.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 55 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/overlay.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeToSign`
[INFO] [stdout] 66 | #[tl(boxed, id = "overlay.node.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 67 | pub struct NodeToSign<'tl> {
[INFO] [stdout]    |            ---------- `NodeToSign` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ShardPublicOverlayId`
[INFO] [stdout] 74 | #[tl(boxed, id = "tonNode.shardPublicOverlayId", scheme = "scheme.tl")]
[INFO] [stdout] 75 | pub struct ShardPublicOverlayId<'tl> {
[INFO] [stdout]    |            -------------------- `ShardPublicOverlayId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:30
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:30
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              `TlRead` is not local
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                                      ^------
[INFO] [stdout]   |                                      |
[INFO] [stdout]   |                                      `TlWrite` is not local
[INFO] [stdout]   |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlRead` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                                      ^------
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      `TlWrite` is not local
[INFO] [stdout]    |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlRead` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                                     ^------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `TlWrite` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                       ^------
[INFO] [stdout]   |                       |
[INFO] [stdout]   |                       `TlWrite` is not local
[INFO] [stdout]   |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                `TlRead` is not local
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                       ^------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `TlWrite` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `TlRead` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `TlRead` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:26
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `TlWrite` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 1m 33s
[INFO] running `Command { std: "docker" "inspect" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling derive_builder v0.9.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling http v0.2.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.0
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling tokio v1.32.0
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling ipnet v2.8.0
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling deranged v0.3.8
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling time-core v0.1.1
[INFO] [stderr]    Compiling data-encoding v2.4.0
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling dns-lookup v1.0.8
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling thread_local v1.1.7
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling pin-project v1.1.3
[INFO] [stderr]    Compiling time v0.3.28
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling base64 v0.21.4
[INFO] [stderr]    Compiling tracing-subscriber v0.3.17
[INFO] [stderr]    Compiling url v2.4.1
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling enum-as-inner v0.3.4
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling trust-dns-proto v0.20.4
[INFO] [stderr]    Compiling hyper v0.14.27
[INFO] [stderr]    Compiling tokio-util v0.7.9
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling derive_builder_core v0.9.0
[INFO] [stderr]    Compiling everscale-network v0.5.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling trust-dns-client v0.20.4
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/node_id.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn as_tl(&self) -> tl::PublicKey {
[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] 29 |     pub fn as_tl(&self) -> tl::PublicKey<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/peers_set.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dht/buckets.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> std::slice::Iter<FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[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] 22 |     pub fn iter(&self) -> std::slice::Iter<'_, FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dht/storage.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 |     data: &[u8],
[INFO] [stdout]     |           ^^^^^ the lifetime is elided here
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node; 5]>> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node<'_>; 5]>> {
[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/overlay/overlay.rs:1271:10
[INFO] [stdout]      |
[INFO] [stdout] 1271 | #[derive(TlWrite)]
[INFO] [stdout]      |          ^------
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `TlWrite` is not local
[INFO] [stdout]      |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastToSign`
[INFO] [stdout] 1272 | #[tl(boxed, id = "overlay.broadcast.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 1273 | struct OverlayBroadcastToSign {
[INFO] [stdout]      |        ---------------------- `OverlayBroadcastToSign` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const 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 `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:30
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:38
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:38
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlRead` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueResultOwned`
[INFO] [stdout] 17 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 18 | pub enum ValueResultOwned {
[INFO] [stdout]    |          ---------------- `ValueResultOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 79 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/dht.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn as_equivalent_ref(&self) -> Value {
[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] 125 |     pub fn as_equivalent_ref(&self) -> Value<'_> {
[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/proto/dht.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:24
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:45
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:24
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:216:30
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn as_equivalent_ref(&self) -> Key {
[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] 216 |     pub fn as_equivalent_ref(&self) -> Key<'_> {
[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/proto/dht.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:23
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlWrite` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `TlRead` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                 ^------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `TlWrite` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `TlRead` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                             ^------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlWrite` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `TlRead` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/overlay.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 55 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/overlay.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeToSign`
[INFO] [stdout] 66 | #[tl(boxed, id = "overlay.node.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 67 | pub struct NodeToSign<'tl> {
[INFO] [stdout]    |            ---------- `NodeToSign` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ShardPublicOverlayId`
[INFO] [stdout] 74 | #[tl(boxed, id = "tonNode.shardPublicOverlayId", scheme = "scheme.tl")]
[INFO] [stdout] 75 | pub struct ShardPublicOverlayId<'tl> {
[INFO] [stdout]    |            -------------------- `ShardPublicOverlayId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:30
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:30
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              `TlRead` is not local
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                                      ^------
[INFO] [stdout]   |                                      |
[INFO] [stdout]   |                                      `TlWrite` is not local
[INFO] [stdout]   |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlRead` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                                      ^------
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      `TlWrite` is not local
[INFO] [stdout]    |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlRead` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                                     ^------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `TlWrite` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                       ^------
[INFO] [stdout]   |                       |
[INFO] [stdout]   |                       `TlWrite` is not local
[INFO] [stdout]   |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                `TlRead` is not local
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                       ^------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `TlWrite` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `TlRead` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `TlRead` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:26
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `TlWrite` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper-system-resolver v0.5.0
[INFO] [stderr]    Compiling public-ip v0.2.2
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/node_id.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn as_tl(&self) -> tl::PublicKey {
[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] 29 |     pub fn as_tl(&self) -> tl::PublicKey<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/adnl/peers_set.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     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] 63 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stdout]    |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/dht/buckets.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> std::slice::Iter<FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[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] 22 |     pub fn iter(&self) -> std::slice::Iter<'_, FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dht/storage.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 |     data: &[u8],
[INFO] [stdout]     |           ^^^^^ the lifetime is elided here
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node; 5]>> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node<'_>; 5]>> {
[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/overlay/overlay.rs:1271:10
[INFO] [stdout]      |
[INFO] [stdout] 1271 | #[derive(TlWrite)]
[INFO] [stdout]      |          ^------
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `TlWrite` is not local
[INFO] [stdout]      |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastToSign`
[INFO] [stdout] 1272 | #[tl(boxed, id = "overlay.broadcast.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 1273 | struct OverlayBroadcastToSign {
[INFO] [stdout]      |        ---------------------- `OverlayBroadcastToSign` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const 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 `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:30
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:283:39
[INFO] [stdout]     |
[INFO] [stdout] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stdout] 284 | #[tl(size_hint = 8)]
[INFO] [stdout] 285 | pub struct ReinitDates {
[INFO] [stdout]     |            ----------- `ReinitDates` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:290:38
[INFO] [stdout]     |
[INFO] [stdout] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 292 | pub enum Message<'tl> {
[INFO] [stdout]     |          ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Address`
[INFO] [stdout] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stdout] 404 | pub struct Address {
[INFO] [stdout]     |            ------- `Address` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                              ^-----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlRead` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/adnl.rs:424:38
[INFO] [stdout]     |
[INFO] [stdout] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]     |                                      ^------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `TlWrite` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 426 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/dht.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlRead)]
[INFO] [stdout]   |          ^-----
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlRead` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stdout] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 9 | pub enum ValueResult<'tl> {
[INFO] [stdout]   |          ----------- `ValueResult` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueResultOwned`
[INFO] [stdout] 17 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 18 | pub enum ValueResultOwned {
[INFO] [stdout]    |          ---------------- `ValueResultOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 26 | pub struct Nodes<'tl> {
[INFO] [stdout]    |            ----- `Nodes` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 35 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:30
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 44 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:66:33
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 67 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 79 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/dht.rs:89:30
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                              ^------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlWrite` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/dht.rs:89:39
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                       ^-----
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `TlRead` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stdout] 90 | pub struct Value<'tl> {
[INFO] [stdout]    |            ----- `Value` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:112:33
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stdout] 113 | pub struct ValueOwned {
[INFO] [stdout]     |            ---------- `ValueOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn as_equivalent_ref(&self) -> Value {
[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] 125 |     pub fn as_equivalent_ref(&self) -> Value<'_> {
[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/proto/dht.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stdout] 136 | pub struct KeyDescription<'tl> {
[INFO] [stdout]     |            -------------- `KeyDescription` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:24
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stdout] 159 | pub struct KeyDescriptionOwned {
[INFO] [stdout]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:45
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:181:54
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stdout] 182 | pub struct Key<'tl> {
[INFO] [stdout]     |            --- `Key` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:24
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                        ^------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `TlWrite` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                 ^-----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `TlRead` is not local
[INFO] [stdout]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stdout] 204 | pub struct KeyOwned {
[INFO] [stdout]     |            -------- `KeyOwned` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (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/proto/dht.rs:216:30
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn as_equivalent_ref(&self) -> Key {
[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] 216 |     pub fn as_equivalent_ref(&self) -> Key<'_> {
[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/proto/dht.rs:225:45
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                             ^------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `TlWrite` is not local
[INFO] [stdout]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:225:54
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]     |                                                      ^-----
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      `TlRead` is not local
[INFO] [stdout]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stdout] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 227 | pub enum UpdateRule {
[INFO] [stdout]     |          ---------- `UpdateRule` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stdout] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 238 | pub struct Pong {
[INFO] [stdout]     |            ---- `Pong` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:23
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                       ^------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `TlWrite` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/dht.rs:242:32
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                ^-----
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `TlRead` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stdout] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stdout] 244 | pub struct Stored;
[INFO] [stdout]     |            ------ `Stored` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |          ^------
[INFO] [stdout]   |          |
[INFO] [stdout]   |          `TlWrite` is not local
[INFO] [stdout]   |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/overlay.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]   |                   ^-----
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   `TlRead` is not local
[INFO] [stdout]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stdout] 8 | pub struct Nodes<'tl> {
[INFO] [stdout]   |            ----- `Nodes` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                 ^------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `TlWrite` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                          ^-----
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `TlRead` is not local
[INFO] [stdout]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stdout] 17 | pub struct NodesOwned {
[INFO] [stdout]    |            ---------- `NodesOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                             ^------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlWrite` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stdout]    |                                                      ^-----
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `TlRead` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stdout] 26 | pub struct Node<'tl> {
[INFO] [stdout]    |            ---- `Node` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                        ^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TlWrite` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:46:33
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                 ^-----
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 `TlRead` is not local
[INFO] [stdout]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stdout] 47 | pub struct NodeOwned {
[INFO] [stdout]    |            --------- `NodeOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (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/proto/overlay.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn as_equivalent_ref(&self) -> Node {
[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] 55 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[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/proto/overlay.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeToSign`
[INFO] [stdout] 66 | #[tl(boxed, id = "overlay.node.toSign", scheme = "scheme.tl")]
[INFO] [stdout] 67 | pub struct NodeToSign<'tl> {
[INFO] [stdout]    |            ---------- `NodeToSign` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/overlay.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(TlWrite)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ShardPublicOverlayId`
[INFO] [stdout] 74 | #[tl(boxed, id = "tonNode.shardPublicOverlayId", scheme = "scheme.tl")]
[INFO] [stdout] 75 | pub struct ShardPublicOverlayId<'tl> {
[INFO] [stdout]    |            -------------------- `ShardPublicOverlayId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stdout] 109 | pub struct Message<'tl> {
[INFO] [stdout]     |            ------- `Message` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:113:39
[INFO] [stdout]     |
[INFO] [stdout] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stdout] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 115 | pub enum Broadcast<'tl> {
[INFO] [stdout]     |          --------- `Broadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:30
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stdout] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stdout]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:30
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stdout] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stdout]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:30
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                              ^------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `TlWrite` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/proto/overlay.rs:166:39
[INFO] [stdout]     |
[INFO] [stdout] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]     |                                       ^-----
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `TlRead` is not local
[INFO] [stdout]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stdout] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 168 | pub enum Certificate<'tl> {
[INFO] [stdout]     |          ----------- `Certificate` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                              ^-----
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              `TlRead` is not local
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rldp.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]   |                                      ^------
[INFO] [stdout]   |                                      |
[INFO] [stdout]   |                                      `TlWrite` is not local
[INFO] [stdout]   |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stdout] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub enum Message<'tl> {
[INFO] [stdout]   |          ------- `Message` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                              ^-----
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `TlRead` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stdout]    |                                      ^------
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      `TlWrite` is not local
[INFO] [stdout]    |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_MessagePart`
[INFO] [stdout] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stdout] 32 | pub enum MessagePart<'tl> {
[INFO] [stdout]    |          ----------- `MessagePart` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                             ^-----
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `TlRead` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rldp.rs:56:53
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stdout]    |                                                     ^------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `TlWrite` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_RaptorQFecType`
[INFO] [stdout] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stdout] 58 | pub struct RaptorQFecType {
[INFO] [stdout]    |            -------------- `RaptorQFecType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                       ^------
[INFO] [stdout]   |                       |
[INFO] [stdout]   |                       `TlWrite` is not local
[INFO] [stdout]   |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/proto/rpc.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]   |                                ^-----
[INFO] [stdout]   |                                |
[INFO] [stdout]   |                                `TlRead` is not local
[INFO] [stdout]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stdout] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 7 | pub struct AdnlPing {
[INFO] [stdout]   |            -------- `AdnlPing` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                       ^------
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `TlWrite` is not local
[INFO] [stdout]    |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stdout]    |                                ^-----
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `TlRead` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stdout] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stdout] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stdout]    |            ------------ `OverlayQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stdout] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stdout]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stdout] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stdout] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stdout]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stdout] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] 31 | pub struct DhtPing {
[INFO] [stdout]    |            ------- `DhtPing` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stdout] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stdout]    |            ----------- `DhtFindNode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stdout] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stdout] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stdout]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stdout] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stdout] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stdout]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stdout] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] 55 | pub struct DhtStore<'tl> {
[INFO] [stdout]    |            -------- `DhtStore` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |          ^------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `TlWrite` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/proto/rpc.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stdout]    |                   ^-----
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `TlRead` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stdout] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stdout] 61 | pub struct DhtQuery<'tl> {
[INFO] [stdout]    |            -------- `DhtQuery` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                  ^-----
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `TlRead` is not local
[INFO] [stdout]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rldp/transfers_cache.rs:608:26
[INFO] [stdout]     |
[INFO] [stdout] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stdout]     |                          ^------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `TlWrite` is not local
[INFO] [stdout]     |                          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Query` and up 2 bodies
[INFO] [stdout] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stdout] 610 |         struct Query {
[INFO] [stdout]     |                ----- `Query` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/adnl/node_id.rs:29:18
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub fn as_tl(&self) -> tl::PublicKey {
[INFO] [stderr]    |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub fn as_tl(&self) -> tl::PublicKey<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/adnl/peers_set.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn iter(&self) -> Iter {
[INFO] [stderr]    |                 ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn iter(&self) -> Iter<'_> {
[INFO] [stderr]    |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/dht/buckets.rs:22:17
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn iter(&self) -> std::slice::Iter<FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn iter(&self) -> std::slice::Iter<'_, FastDashMap<adnl::NodeIdShort, proto::dht::NodeOwned>> {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/dht/storage.rs:224:11
[INFO] [stderr]     |
[INFO] [stderr] 224 |     data: &[u8],
[INFO] [stderr]     |           ^^^^^ the lifetime is elided here
[INFO] [stderr] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node; 5]>> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 225 | ) -> tl_proto::TlResult<SmallVec<[proto::overlay::Node<'_>; 5]>> {
[INFO] [stderr]     |                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]     --> src/overlay/overlay.rs:1271:10
[INFO] [stderr]      |
[INFO] [stderr] 1271 | #[derive(TlWrite)]
[INFO] [stderr]      |          ^------
[INFO] [stderr]      |          |
[INFO] [stderr]      |          `TlWrite` is not local
[INFO] [stderr]      |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastToSign`
[INFO] [stderr] 1272 | #[tl(boxed, id = "overlay.broadcast.toSign", scheme = "scheme.tl")]
[INFO] [stderr] 1273 | struct OverlayBroadcastToSign {
[INFO] [stderr]      |        ---------------------- `OverlayBroadcastToSign` is not local
[INFO] [stderr]      |
[INFO] [stderr]      = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]      = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]      = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]      = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:283:30
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ReinitDates`
[INFO] [stderr] 284 | #[tl(size_hint = 8)]
[INFO] [stderr] 285 | pub struct ReinitDates {
[INFO] [stderr]     |            ----------- `ReinitDates` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:283:39
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stderr] 284 | #[tl(size_hint = 8)]
[INFO] [stderr] 285 | pub struct ReinitDates {
[INFO] [stderr]     |            ----------- `ReinitDates` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:283:39
[INFO] [stderr]     |
[INFO] [stderr] 283 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ReinitDates`
[INFO] [stderr] 284 | #[tl(size_hint = 8)]
[INFO] [stderr] 285 | pub struct ReinitDates {
[INFO] [stderr]     |            ----------- `ReinitDates` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:290:30
[INFO] [stderr]     |
[INFO] [stderr] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 292 | pub enum Message<'tl> {
[INFO] [stderr]     |          ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:290:30
[INFO] [stderr]     |
[INFO] [stderr] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlRead` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 292 | pub enum Message<'tl> {
[INFO] [stderr]     |          ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:290:38
[INFO] [stderr]     |
[INFO] [stderr] 290 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                                      ^------
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      `TlWrite` is not local
[INFO] [stderr]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stderr] 291 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 292 | pub enum Message<'tl> {
[INFO] [stderr]     |          ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:402:30
[INFO] [stderr]     |
[INFO] [stderr] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stderr] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stderr] 404 | pub struct Address {
[INFO] [stderr]     |            ------- `Address` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:402:30
[INFO] [stderr]     |
[INFO] [stderr] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlRead` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Address`
[INFO] [stderr] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stderr] 404 | pub struct Address {
[INFO] [stderr]     |            ------- `Address` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:402:38
[INFO] [stderr]     |
[INFO] [stderr] 402 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                                      ^------
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      `TlWrite` is not local
[INFO] [stderr]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Address`
[INFO] [stderr] 403 | #[tl(boxed, id = "adnl.address.udp", scheme = "scheme.tl", size_hint = 8)]
[INFO] [stderr] 404 | pub struct Address {
[INFO] [stderr]     |            ------- `Address` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:424:30
[INFO] [stderr]     |
[INFO] [stderr] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stderr] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 426 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:424:30
[INFO] [stderr]     |
[INFO] [stderr] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                              ^-----
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlRead` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stderr] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 426 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/adnl.rs:424:38
[INFO] [stderr]     |
[INFO] [stderr] 424 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]     |                                      ^------
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      `TlWrite` is not local
[INFO] [stderr]     |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stderr] 425 | #[tl(boxed, id = "adnl.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 426 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/dht.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(TlRead)]
[INFO] [stderr]   |          ^-----
[INFO] [stderr]   |          |
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stderr] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 9 | pub enum ValueResult<'tl> {
[INFO] [stderr]   |          ----------- `ValueResult` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/dht.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(TlRead)]
[INFO] [stderr]   |          ^-----
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `TlRead` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueResult`
[INFO] [stderr] 8 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 9 | pub enum ValueResult<'tl> {
[INFO] [stderr]   |          ----------- `ValueResult` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(TlWrite)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueResultOwned`
[INFO] [stderr] 17 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 18 | pub enum ValueResultOwned {
[INFO] [stderr]    |          ---------------- `ValueResultOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stderr] 26 | pub struct Nodes<'tl> {
[INFO] [stderr]    |            ----- `Nodes` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stderr] 26 | pub struct Nodes<'tl> {
[INFO] [stderr]    |            ----- `Nodes` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stderr] 26 | pub struct Nodes<'tl> {
[INFO] [stderr]    |            ----- `Nodes` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stderr] 35 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:34:19
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stderr] 35 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:34:19
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stderr] 35 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:43:30
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                              ^------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `TlWrite` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stderr] 44 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:43:39
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                       ^-----
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stderr] 44 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:43:39
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                       ^-----
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       `TlRead` is not local
[INFO] [stderr]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stderr] 44 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:66:24
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                        ^------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `TlWrite` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stderr] 67 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:66:33
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                 ^-----
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stderr] 67 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:66:33
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                 ^-----
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `TlRead` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stderr] 67 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/proto/dht.rs:79:30
[INFO] [stderr]    |
[INFO] [stderr] 79 |     pub fn as_equivalent_ref(&self) -> Node {
[INFO] [stderr]    |                              ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 79 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[INFO] [stderr]    |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:89:30
[INFO] [stderr]    |
[INFO] [stderr] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                              ^------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `TlWrite` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Value`
[INFO] [stderr] 90 | pub struct Value<'tl> {
[INFO] [stderr]    |            ----- `Value` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:89:39
[INFO] [stderr]    |
[INFO] [stderr] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                       ^-----
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stderr] 90 | pub struct Value<'tl> {
[INFO] [stderr]    |            ----- `Value` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/dht.rs:89:39
[INFO] [stderr]    |
[INFO] [stderr] 89 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                       ^-----
[INFO] [stderr]    |                                       |
[INFO] [stderr]    |                                       `TlRead` is not local
[INFO] [stderr]    |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Value`
[INFO] [stderr] 90 | pub struct Value<'tl> {
[INFO] [stderr]    |            ----- `Value` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:112:24
[INFO] [stderr]     |
[INFO] [stderr] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                        ^------
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `TlWrite` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ValueOwned`
[INFO] [stderr] 113 | pub struct ValueOwned {
[INFO] [stderr]     |            ---------- `ValueOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:112:33
[INFO] [stderr]     |
[INFO] [stderr] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stderr] 113 | pub struct ValueOwned {
[INFO] [stderr]     |            ---------- `ValueOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:112:33
[INFO] [stderr]     |
[INFO] [stderr] 112 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 `TlRead` is not local
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_ValueOwned`
[INFO] [stderr] 113 | pub struct ValueOwned {
[INFO] [stderr]     |            ---------- `ValueOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/proto/dht.rs:125:30
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn as_equivalent_ref(&self) -> Value {
[INFO] [stderr]     |                              ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub fn as_equivalent_ref(&self) -> Value<'_> {
[INFO] [stderr]     |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:135:30
[INFO] [stderr]     |
[INFO] [stderr] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescription`
[INFO] [stderr] 136 | pub struct KeyDescription<'tl> {
[INFO] [stderr]     |            -------------- `KeyDescription` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:135:39
[INFO] [stderr]     |
[INFO] [stderr] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stderr] 136 | pub struct KeyDescription<'tl> {
[INFO] [stderr]     |            -------------- `KeyDescription` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:135:39
[INFO] [stderr]     |
[INFO] [stderr] 135 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescription`
[INFO] [stderr] 136 | pub struct KeyDescription<'tl> {
[INFO] [stderr]     |            -------------- `KeyDescription` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:158:24
[INFO] [stderr]     |
[INFO] [stderr] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                        ^------
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `TlWrite` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyDescriptionOwned`
[INFO] [stderr] 159 | pub struct KeyDescriptionOwned {
[INFO] [stderr]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:158:33
[INFO] [stderr]     |
[INFO] [stderr] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stderr] 159 | pub struct KeyDescriptionOwned {
[INFO] [stderr]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:158:33
[INFO] [stderr]     |
[INFO] [stderr] 158 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 `TlRead` is not local
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyDescriptionOwned`
[INFO] [stderr] 159 | pub struct KeyDescriptionOwned {
[INFO] [stderr]     |            ------------------- `KeyDescriptionOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:181:45
[INFO] [stderr]     |
[INFO] [stderr] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                             ^------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `TlWrite` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Key`
[INFO] [stderr] 182 | pub struct Key<'tl> {
[INFO] [stderr]     |            --- `Key` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:181:54
[INFO] [stderr]     |
[INFO] [stderr] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                                      ^-----
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stderr] 182 | pub struct Key<'tl> {
[INFO] [stderr]     |            --- `Key` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:181:54
[INFO] [stderr]     |
[INFO] [stderr] 181 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                                      ^-----
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `TlRead` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Key`
[INFO] [stderr] 182 | pub struct Key<'tl> {
[INFO] [stderr]     |            --- `Key` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:203:24
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                        ^------
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `TlWrite` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_KeyOwned`
[INFO] [stderr] 204 | pub struct KeyOwned {
[INFO] [stderr]     |            -------- `KeyOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:203:33
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stderr] 204 | pub struct KeyOwned {
[INFO] [stderr]     |            -------- `KeyOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:203:33
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                 ^-----
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 `TlRead` is not local
[INFO] [stderr]     |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_KeyOwned`
[INFO] [stderr] 204 | pub struct KeyOwned {
[INFO] [stderr]     |            -------- `KeyOwned` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/proto/dht.rs:216:30
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub fn as_equivalent_ref(&self) -> Key {
[INFO] [stderr]     |                              ^^^^^     ^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 216 |     pub fn as_equivalent_ref(&self) -> Key<'_> {
[INFO] [stderr]     |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:225:45
[INFO] [stderr]     |
[INFO] [stderr] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                             ^------
[INFO] [stderr]     |                                             |
[INFO] [stderr]     |                                             `TlWrite` is not local
[INFO] [stderr]     |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_UpdateRule`
[INFO] [stderr] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 227 | pub enum UpdateRule {
[INFO] [stderr]     |          ---------- `UpdateRule` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:225:54
[INFO] [stderr]     |
[INFO] [stderr] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                                      ^-----
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stderr] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 227 | pub enum UpdateRule {
[INFO] [stderr]     |          ---------- `UpdateRule` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:225:54
[INFO] [stderr]     |
[INFO] [stderr] 225 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]     |                                                      ^-----
[INFO] [stderr]     |                                                      |
[INFO] [stderr]     |                                                      `TlRead` is not local
[INFO] [stderr]     |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_UpdateRule`
[INFO] [stderr] 226 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 227 | pub enum UpdateRule {
[INFO] [stderr]     |          ---------- `UpdateRule` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:236:23
[INFO] [stderr]     |
[INFO] [stderr] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                       ^------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `TlWrite` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Pong`
[INFO] [stderr] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 238 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:236:32
[INFO] [stderr]     |
[INFO] [stderr] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                ^-----
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stderr] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 238 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:236:32
[INFO] [stderr]     |
[INFO] [stderr] 236 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                ^-----
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `TlRead` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Pong`
[INFO] [stderr] 237 | #[tl(boxed, id = "dht.pong", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 238 | pub struct Pong {
[INFO] [stderr]     |            ---- `Pong` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:242:23
[INFO] [stderr]     |
[INFO] [stderr] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                       ^------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `TlWrite` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Stored`
[INFO] [stderr] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stderr] 244 | pub struct Stored;
[INFO] [stderr]     |            ------ `Stored` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:242:32
[INFO] [stderr]     |
[INFO] [stderr] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                ^-----
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stderr] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stderr] 244 | pub struct Stored;
[INFO] [stderr]     |            ------ `Stored` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/dht.rs:242:32
[INFO] [stderr]     |
[INFO] [stderr] 242 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                ^-----
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                `TlRead` is not local
[INFO] [stderr]     |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Stored`
[INFO] [stderr] 243 | #[tl(boxed, id = "dht.stored", size_hint = 0, scheme = "scheme.tl")]
[INFO] [stderr] 244 | pub struct Stored;
[INFO] [stderr]     |            ------ `Stored` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/overlay.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]   |          ^------
[INFO] [stderr]   |          |
[INFO] [stderr]   |          `TlWrite` is not local
[INFO] [stderr]   |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Nodes`
[INFO] [stderr] 8 | pub struct Nodes<'tl> {
[INFO] [stderr]   |            ----- `Nodes` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/overlay.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]   |                   ^-----
[INFO] [stderr]   |                   |
[INFO] [stderr]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stderr] 8 | pub struct Nodes<'tl> {
[INFO] [stderr]   |            ----- `Nodes` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/overlay.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]   |                   ^-----
[INFO] [stderr]   |                   |
[INFO] [stderr]   |                   `TlRead` is not local
[INFO] [stderr]   |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Nodes`
[INFO] [stderr] 8 | pub struct Nodes<'tl> {
[INFO] [stderr]   |            ----- `Nodes` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:16:17
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                 ^------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `TlWrite` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodesOwned`
[INFO] [stderr] 17 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:16:26
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                          ^-----
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stderr] 17 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:16:26
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                          ^-----
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          `TlRead` is not local
[INFO] [stderr]    |                          move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodesOwned`
[INFO] [stderr] 17 | pub struct NodesOwned {
[INFO] [stderr]    |            ---------- `NodesOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:25:45
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]    |                                             ^------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `TlWrite` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Node`
[INFO] [stderr] 26 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:25:54
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]    |                                                      ^-----
[INFO] [stderr]    |                                                      |
[INFO] [stderr]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stderr] 26 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:25:54
[INFO] [stderr]    |
[INFO] [stderr] 25 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlWrite, TlRead)]
[INFO] [stderr]    |                                                      ^-----
[INFO] [stderr]    |                                                      |
[INFO] [stderr]    |                                                      `TlRead` is not local
[INFO] [stderr]    |                                                      move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Node`
[INFO] [stderr] 26 | pub struct Node<'tl> {
[INFO] [stderr]    |            ---- `Node` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                        ^------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `TlWrite` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeOwned`
[INFO] [stderr] 47 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:46:33
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                 ^-----
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stderr] 47 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:46:33
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(Debug, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                 ^-----
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 `TlRead` is not local
[INFO] [stderr]    |                                 move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_NodeOwned`
[INFO] [stderr] 47 | pub struct NodeOwned {
[INFO] [stderr]    |            --------- `NodeOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/proto/overlay.rs:55:30
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn as_equivalent_ref(&self) -> Node {
[INFO] [stderr]    |                              ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub fn as_equivalent_ref(&self) -> Node<'_> {
[INFO] [stderr]    |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 65 | #[derive(TlWrite)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_NodeToSign`
[INFO] [stderr] 66 | #[tl(boxed, id = "overlay.node.toSign", scheme = "scheme.tl")]
[INFO] [stderr] 67 | pub struct NodeToSign<'tl> {
[INFO] [stderr]    |            ---------- `NodeToSign` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/overlay.rs:73:10
[INFO] [stderr]    |
[INFO] [stderr] 73 | #[derive(TlWrite)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_ShardPublicOverlayId`
[INFO] [stderr] 74 | #[tl(boxed, id = "tonNode.shardPublicOverlayId", scheme = "scheme.tl")]
[INFO] [stderr] 75 | pub struct ShardPublicOverlayId<'tl> {
[INFO] [stderr]    |            -------------------- `ShardPublicOverlayId` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:107:30
[INFO] [stderr]     |
[INFO] [stderr] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stderr] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stderr] 109 | pub struct Message<'tl> {
[INFO] [stderr]     |            ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:107:39
[INFO] [stderr]     |
[INFO] [stderr] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stderr] 109 | pub struct Message<'tl> {
[INFO] [stderr]     |            ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:107:39
[INFO] [stderr]     |
[INFO] [stderr] 107 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 108 | #[tl(boxed, id = "overlay.message", scheme = "scheme.tl", size_hint = 32)]
[INFO] [stderr] 109 | pub struct Message<'tl> {
[INFO] [stderr]     |            ------- `Message` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:113:30
[INFO] [stderr]     |
[INFO] [stderr] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Broadcast`
[INFO] [stderr] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 115 | pub enum Broadcast<'tl> {
[INFO] [stderr]     |          --------- `Broadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:113:39
[INFO] [stderr]     |
[INFO] [stderr] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stderr] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 115 | pub enum Broadcast<'tl> {
[INFO] [stderr]     |          --------- `Broadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:113:39
[INFO] [stderr]     |
[INFO] [stderr] 113 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Broadcast`
[INFO] [stderr] 114 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 115 | pub enum Broadcast<'tl> {
[INFO] [stderr]     |          --------- `Broadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:141:30
[INFO] [stderr]     |
[INFO] [stderr] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcast`
[INFO] [stderr] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stderr]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:141:39
[INFO] [stderr]     |
[INFO] [stderr] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stderr] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stderr]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:141:39
[INFO] [stderr]     |
[INFO] [stderr] 141 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcast`
[INFO] [stderr] 142 | pub struct OverlayBroadcast<'tl> {
[INFO] [stderr]     |            ---------------- `OverlayBroadcast` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:151:30
[INFO] [stderr]     |
[INFO] [stderr] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayBroadcastFec`
[INFO] [stderr] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stderr]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:151:39
[INFO] [stderr]     |
[INFO] [stderr] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stderr] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stderr]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:151:39
[INFO] [stderr]     |
[INFO] [stderr] 151 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayBroadcastFec`
[INFO] [stderr] 152 | pub struct OverlayBroadcastFec<'tl> {
[INFO] [stderr]     |            ------------------- `OverlayBroadcastFec` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:166:30
[INFO] [stderr]     |
[INFO] [stderr] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                              ^------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `TlWrite` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Certificate`
[INFO] [stderr] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 168 | pub enum Certificate<'tl> {
[INFO] [stderr]     |          ----------- `Certificate` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:166:39
[INFO] [stderr]     |
[INFO] [stderr] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stderr] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 168 | pub enum Certificate<'tl> {
[INFO] [stderr]     |          ----------- `Certificate` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/proto/overlay.rs:166:39
[INFO] [stderr]     |
[INFO] [stderr] 166 | #[derive(Debug, Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]     |                                       ^-----
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       `TlRead` is not local
[INFO] [stderr]     |                                       move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Certificate`
[INFO] [stderr] 167 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 168 | pub enum Certificate<'tl> {
[INFO] [stderr]     |          ----------- `Certificate` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rldp.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]   |                              ^-----
[INFO] [stderr]   |                              |
[INFO] [stderr]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub enum Message<'tl> {
[INFO] [stderr]   |          ------- `Message` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rldp.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]   |                              ^-----
[INFO] [stderr]   |                              |
[INFO] [stderr]   |                              `TlRead` is not local
[INFO] [stderr]   |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Message`
[INFO] [stderr] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub enum Message<'tl> {
[INFO] [stderr]   |          ------- `Message` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rldp.rs:5:38
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]   |                                      ^------
[INFO] [stderr]   |                                      |
[INFO] [stderr]   |                                      `TlWrite` is not local
[INFO] [stderr]   |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Message`
[INFO] [stderr] 6 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub enum Message<'tl> {
[INFO] [stderr]   |          ------- `Message` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:30:30
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]    |                              ^-----
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stderr] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 32 | pub enum MessagePart<'tl> {
[INFO] [stderr]    |          ----------- `MessagePart` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:30:30
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]    |                              ^-----
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `TlRead` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_MessagePart`
[INFO] [stderr] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 32 | pub enum MessagePart<'tl> {
[INFO] [stderr]    |          ----------- `MessagePart` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:30:38
[INFO] [stderr]    |
[INFO] [stderr] 30 | #[derive(Debug, Copy, Clone, TlRead, TlWrite)]
[INFO] [stderr]    |                                      ^------
[INFO] [stderr]    |                                      |
[INFO] [stderr]    |                                      `TlWrite` is not local
[INFO] [stderr]    |                                      move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_MessagePart`
[INFO] [stderr] 31 | #[tl(boxed, scheme = "scheme.tl")]
[INFO] [stderr] 32 | pub enum MessagePart<'tl> {
[INFO] [stderr]    |          ----------- `MessagePart` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:56:45
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stderr]    |                                             ^-----
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stderr] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stderr] 58 | pub struct RaptorQFecType {
[INFO] [stderr]    |            -------------- `RaptorQFecType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:56:45
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stderr]    |                                             ^-----
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `TlRead` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_RaptorQFecType`
[INFO] [stderr] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stderr] 58 | pub struct RaptorQFecType {
[INFO] [stderr]    |            -------------- `RaptorQFecType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rldp.rs:56:53
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Copy, Clone, Eq, PartialEq, TlRead, TlWrite)]
[INFO] [stderr]    |                                                     ^------
[INFO] [stderr]    |                                                     |
[INFO] [stderr]    |                                                     `TlWrite` is not local
[INFO] [stderr]    |                                                     move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_RaptorQFecType`
[INFO] [stderr] 57 | #[tl(boxed, id = "fec.raptorQ", size_hint = 12, scheme = "scheme.tl")]
[INFO] [stderr] 58 | pub struct RaptorQFecType {
[INFO] [stderr]    |            -------------- `RaptorQFecType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rpc.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]   |                       ^------
[INFO] [stderr]   |                       |
[INFO] [stderr]   |                       `TlWrite` is not local
[INFO] [stderr]   |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_AdnlPing`
[INFO] [stderr] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub struct AdnlPing {
[INFO] [stderr]   |            -------- `AdnlPing` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rpc.rs:5:32
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]   |                                ^-----
[INFO] [stderr]   |                                |
[INFO] [stderr]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stderr] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub struct AdnlPing {
[INFO] [stderr]   |            -------- `AdnlPing` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/proto/rpc.rs:5:32
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]   |                                ^-----
[INFO] [stderr]   |                                |
[INFO] [stderr]   |                                `TlRead` is not local
[INFO] [stderr]   |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_AdnlPing`
[INFO] [stderr] 6 | #[tl(boxed, id = "adnl.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 7 | pub struct AdnlPing {
[INFO] [stderr]   |            -------- `AdnlPing` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:11:23
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                       ^------
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       `TlWrite` is not local
[INFO] [stderr]    |                       move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayQuery`
[INFO] [stderr] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stderr] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stderr]    |            ------------ `OverlayQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                ^-----
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stderr] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stderr] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stderr]    |            ------------ `OverlayQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:11:32
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Copy, Clone, TlWrite, TlRead)]
[INFO] [stderr]    |                                ^-----
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                `TlRead` is not local
[INFO] [stderr]    |                                move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayQuery`
[INFO] [stderr] 12 | #[tl(boxed, id = "overlay.query", size_hint = 32, scheme = "scheme.tl")]
[INFO] [stderr] 13 | pub struct OverlayQuery<'tl> {
[INFO] [stderr]    |            ------------ `OverlayQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout] running 16 tests
[INFO] [stderr]   --> src/proto/rpc.rs:17:10
[INFO] [stdout] test adnl::peers_set::tests::with_peers_greater_than_capacity ... ok
[INFO] [stderr]    |
[INFO] [stdout] test adnl::peers_set::tests::with_peers_less_than_capacity ... ok
[INFO] [stderr] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stdout] test adnl::peers_set::tests::with_peers_same_size_as_capacity ... ok
[INFO] [stderr]    |          ^------
[INFO] [stdout] test dht::buckets::tests::same_affinity ... ok
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeers`
[INFO] [stderr] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stderr]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stderr] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stderr]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeers`
[INFO] [stderr] 18 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 19 | pub struct OverlayGetRandomPeers<'tl> {
[INFO] [stderr]    |            --------------------- `OverlayGetRandomPeers` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_OverlayGetRandomPeersOwned`
[INFO] [stderr] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stderr]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:23:19
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stderr] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stderr]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:23:19
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_OverlayGetRandomPeersOwned`
[INFO] [stderr] 24 | #[tl(boxed, id = "overlay.getRandomPeers", scheme = "scheme.tl")]
[INFO] [stderr] 25 | pub struct OverlayGetRandomPeersOwned {
[INFO] [stderr]    |            -------------------------- `OverlayGetRandomPeersOwned` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtPing`
[INFO] [stderr] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 31 | pub struct DhtPing {
[INFO] [stderr]    |            ------- `DhtPing` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stderr] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stderr] 31 | pub struct DhtPing {
[INFO] [stderr]    |            ------- `DhtPing` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stdout] test adnl::peers_set::tests::test_insertion ... ok
[INFO] [stderr]    |                   |
[INFO] [stdout] test adnl::peer::tests::correct_addr_pack ... ok
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtPing`
[INFO] [stderr] 30 | #[tl(boxed, id = "dht.ping", size_hint = 8, scheme = "scheme.tl")]
[INFO] [stdout] test adnl::peers_set::tests::test_iterator ... ok
[INFO] [stderr] 31 | pub struct DhtPing {
[INFO] [stdout] test adnl::peers_set::tests::test_overlapping_insertion ... ok
[INFO] [stderr]    |            ------- `DhtPing` is not local
[INFO] [stdout] test adnl::channel::tests::test_encrypt_decrypt ... ok
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:35:10
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindNode`
[INFO] [stderr] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stderr]    |            ----------- `DhtFindNode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:35:19
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stderr] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stderr]    |            ----------- `DhtFindNode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:35:19
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindNode`
[INFO] [stderr] 36 | #[tl(boxed, id = "dht.findNode", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 37 | pub struct DhtFindNode<'tl> {
[INFO] [stderr]    |            ----------- `DhtFindNode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtFindValue`
[INFO] [stderr] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stderr]    |            ------------ `DhtFindValue` is not local
[INFO] [stdout] test rldp::compression::tests::correct_compression ... ok
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:42:19
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stderr] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stderr]    |            ------------ `DhtFindValue` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:42:19
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtFindValue`
[INFO] [stderr] 43 | #[tl(boxed, id = "dht.findValue", size_hint = 36, scheme = "scheme.tl")]
[INFO] [stderr] 44 | pub struct DhtFindValue<'tl> {
[INFO] [stderr]    |            ------------ `DhtFindValue` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:49:10
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtGetSignedAddressList`
[INFO] [stderr] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stderr] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stderr]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:49:19
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stderr] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stderr] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stderr]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:49:19
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtGetSignedAddressList`
[INFO] [stderr] 50 | #[tl(boxed, id = "dht.getSignedAddressList", scheme = "scheme.tl")]
[INFO] [stderr] 51 | pub struct DhtGetSignedAddressList;
[INFO] [stderr]    |            ----------------------- `DhtGetSignedAddressList` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtStore`
[INFO] [stderr] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stderr] 55 | pub struct DhtStore<'tl> {
[INFO] [stderr]    |            -------- `DhtStore` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stderr] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stdout] test adnl::peers_set::tests::test_random_peers ... ok
[INFO] [stderr] 55 | pub struct DhtStore<'tl> {
[INFO] [stderr]    |            -------- `DhtStore` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtStore`
[INFO] [stderr] 54 | #[tl(boxed, id = "dht.store", scheme = "scheme.tl")]
[INFO] [stderr] 55 | pub struct DhtStore<'tl> {
[INFO] [stderr]    |            -------- `DhtStore` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:59:10
[INFO] [stderr]    |
[INFO] [stderr] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |          ^------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `TlWrite` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_DhtQuery`
[INFO] [stderr] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stderr] 61 | pub struct DhtQuery<'tl> {
[INFO] [stderr]    |            -------- `DhtQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:59:19
[INFO] [stderr]    |
[INFO] [stderr] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stderr] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stderr] 61 | pub struct DhtQuery<'tl> {
[INFO] [stderr]    |            -------- `DhtQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/proto/rpc.rs:59:19
[INFO] [stderr]    |
[INFO] [stderr] 59 | #[derive(TlWrite, TlRead)]
[INFO] [stderr]    |                   ^-----
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   `TlRead` is not local
[INFO] [stderr]    |                   move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_DhtQuery`
[INFO] [stderr] 60 | #[tl(boxed, id = "dht.query", scheme = "scheme.tl")]
[INFO] [stderr] 61 | pub struct DhtQuery<'tl> {
[INFO] [stderr]    |            -------- `DhtQuery` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stderr]     |
[INFO] [stderr] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stderr]     |                  ^-----
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stderr] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stderr] 610 |         struct Query {
[INFO] [stderr]     |                ----- `Query` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rldp/transfers_cache.rs:608:18
[INFO] [stderr]     |
[INFO] [stderr] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stderr]     |                  ^-----
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  `TlRead` is not local
[INFO] [stderr]     |                  move the `impl` block outside of this constant `_IMPL_TL_READ_FOR_Query` and up 2 bodies
[INFO] [stderr] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stderr] 610 |         struct Query {
[INFO] [stderr]     |                ----- `Query` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlRead` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlRead` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlRead` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rldp/transfers_cache.rs:608:26
[INFO] [stderr]     |
[INFO] [stderr] 608 |         #[derive(TlRead, TlWrite)]
[INFO] [stderr]     |                          ^------
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          `TlWrite` is not local
[INFO] [stderr]     |                          move the `impl` block outside of this constant `_IMPL_TL_WRITE_FOR_Query` and up 2 bodies
[INFO] [stderr] 609 |         #[tl(boxed, id = "rldp.query", scheme = "scheme.tl")]
[INFO] [stderr] 610 |         struct Query {
[INFO] [stderr]     |                ----- `Query` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `TlWrite` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `TlWrite` may come from an old version of the `tl_proto_proc` crate, try updating your dependency with `cargo update -p tl_proto_proc`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `TlWrite` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `everscale-network` (lib) generated 134 warnings (run `cargo fix --lib -p everscale-network` to apply 8 suggestions)
[INFO] [stderr] warning: `everscale-network` (lib test) generated 134 warnings (134 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/everscale-network/17dfb863efda64a9/out/everscale_network-17dfb863efda64a9)
[INFO] [stdout] test adnl::peers_set::tests::test_full_entries_replacing ... ok
[INFO] [stderr]    Doc-tests everscale_network
[INFO] [stdout] test adnl::peers_set::tests::test_entries_replacing ... ok
[INFO] [stdout] test proto::adnl::tests::correct_addr_conversion ... ok
[INFO] [stdout] test util::address_list::tests::correct_port_update ... ok
[INFO] [stdout] test adnl::encryption::tests::double_encode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/rldp/mod.rs - rldp::NetworkBuilder<L,(A,R)>::with_rldp_ext (line 85) ... ok
[INFO] [stdout] test src/adnl/mod.rs - adnl::NetworkBuilder<HNil,(Here,Here)>::with_adnl (line 129) ... ok
[INFO] [stdout] test src/dht/mod.rs - dht::NetworkBuilder<L,(A,R)>::with_dht (line 48) ... ok
[INFO] [stdout] test src/adnl/mod.rs - adnl::NetworkBuilder<L,(A,R)>::with_query_subscriber (line 230) ... ok
[INFO] [stdout] test src/rldp/mod.rs - rldp::NetworkBuilder<L,(A,R)>::with_rldp (line 55) ... ok
[INFO] [stdout] test src/adnl/mod.rs - adnl::NetworkBuilder<HNil,(Here,Here)>::with_adnl_ext (line 167) ... ok
[INFO] [stdout] test src/adnl/mod.rs - adnl::NetworkBuilder<L,(A,R)>::with_message_subscriber (line 275) ... ok
[INFO] [stdout] test src/overlay/mod.rs - overlay::node_impl::NetworkBuilder<L,(A,R)>::with_overlay (line 60) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.23s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a", kill_on_drop: false }`
[INFO] [stdout] b3f723ace4e01db7930b144b29e0d4c43c48de9ff9b52ab07be426aef236d04a
