[INFO] fetching crate everscale-network 0.5.5...
[INFO] testing everscale-network-0.5.5 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate everscale-network 0.5.5 into /workspace/builds/worker-1-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate everscale-network 0.5.5 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zstd v0.12.4
[INFO] [stderr]   Downloaded jobserver v0.1.26
[INFO] [stderr]   Downloaded zstd-safe v6.0.6
[INFO] [stderr]   Downloaded num_cpus v1.16.0
[INFO] [stderr]   Downloaded hermit-abi v0.3.3
[INFO] [stderr]   Downloaded darling_macro v0.10.2
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.16
[INFO] [stderr]   Downloaded rustc-demangle v0.1.23
[INFO] [stderr]   Downloaded percent-encoding v2.3.0
[INFO] [stderr]   Downloaded futures-core v0.3.28
[INFO] [stderr]   Downloaded futures-task v0.3.28
[INFO] [stderr]   Downloaded futures-io v0.3.28
[INFO] [stderr]   Downloaded deranged v0.3.8
[INFO] [stderr]   Downloaded strsim v0.9.3
[INFO] [stderr]   Downloaded rustc_version v0.4.0
[INFO] [stderr]   Downloaded tokio-macros v2.1.0
[INFO] [stderr]   Downloaded curve25519-dalek-derive v0.1.0
[INFO] [stderr]   Downloaded base64 v0.21.4
[INFO] [stderr]   Downloaded try-lock v0.2.4
[INFO] [stderr]   Downloaded itoa v1.0.9
[INFO] [stderr]   Downloaded tl-proto-proc v0.4.3
[INFO] [stderr]   Downloaded tl-scheme v0.2.0
[INFO] [stderr]   Downloaded crc v3.0.1
[INFO] [stderr]   Downloaded ahash v0.8.3
[INFO] [stderr]   Downloaded futures-macro v0.3.28
[INFO] [stderr]   Downloaded time-core v0.1.1
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.8
[INFO] [stderr]   Downloaded anyhow v1.0.75
[INFO] [stderr]   Downloaded cpufeatures v0.2.9
[INFO] [stderr]   Downloaded public-ip v0.2.2
[INFO] [stderr]   Downloaded inout v0.1.3
[INFO] [stderr]   Downloaded hyper-system-resolver v0.5.0
[INFO] [stderr]   Downloaded dns-lookup v1.0.8
[INFO] [stderr]   Downloaded tl-proto v0.4.3
[INFO] [stderr]   Downloaded crc-catalog v2.2.0
[INFO] [stderr]   Downloaded everscale-crypto v0.2.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.48
[INFO] [stderr]   Downloaded form_urlencoded v1.2.0
[INFO] [stderr]   Downloaded subtle v2.5.0
[INFO] [stderr]   Downloaded futures-sink v0.3.28
[INFO] [stderr]   Downloaded aes v0.8.3
[INFO] [stderr]   Downloaded addr2line v0.21.0
[INFO] [stderr]   Downloaded thread_local v1.1.7
[INFO] [stderr]   Downloaded tracing-log v0.1.3
[INFO] [stderr]   Downloaded nu-ansi-term v0.46.0
[INFO] [stderr]   Downloaded futures-channel v0.3.28
[INFO] [stderr]   Downloaded async-trait v0.1.73
[INFO] [stderr]   Downloaded tracing-attributes v0.1.26
[INFO] [stderr]   Downloaded pin-project-internal v1.1.3
[INFO] [stderr]   Downloaded futures-executor v0.3.28
[INFO] [stderr]   Downloaded valuable v0.1.0
[INFO] [stderr]   Downloaded ipnet v2.8.0
[INFO] [stderr]   Downloaded platforms v3.1.2
[INFO] [stderr]   Downloaded pest_generator v2.7.3
[INFO] [stderr]   Downloaded data-encoding v2.4.0
[INFO] [stderr]   Downloaded overload v0.1.1
[INFO] [stderr]   Downloaded quote v1.0.33
[INFO] [stderr]   Downloaded thiserror v1.0.48
[INFO] [stderr]   Downloaded derive_builder_core v0.9.0
[INFO] [stderr]   Downloaded darling v0.10.2
[INFO] [stderr]   Downloaded zeroize v1.6.0
[INFO] [stderr]   Downloaded semver v1.0.19
[INFO] [stderr]   Downloaded ucd-trie v0.1.6
[INFO] [stderr]   Downloaded ryu v1.0.15
[INFO] [stderr]   Downloaded unicode-bidi v0.3.13
[INFO] [stderr]   Downloaded backtrace v0.3.69
[INFO] [stderr]   Downloaded socket2 v0.4.9
[INFO] [stderr]   Downloaded pest_derive v2.7.3
[INFO] [stderr]   Downloaded derive_builder v0.9.0
[INFO] [stderr]   Downloaded frunk_core v0.4.2
[INFO] [stderr]   Downloaded proc-macro2 v1.0.67
[INFO] [stderr]   Downloaded sha2 v0.10.7
[INFO] [stderr]   Downloaded pin-project v1.1.3
[INFO] [stderr]   Downloaded futures v0.3.28
[INFO] [stderr]   Downloaded smallvec v1.11.1
[INFO] [stderr]   Downloaded sharded-slab v0.1.4
[INFO] [stderr]   Downloaded mio v0.8.8
[INFO] [stderr]   Downloaded darling_core v0.10.2
[INFO] [stderr]   Downloaded pest_meta v2.7.3
[INFO] [stderr]   Downloaded socket2 v0.5.4
[INFO] [stderr]   Downloaded tracing-core v0.1.31
[INFO] [stderr]   Downloaded serde_derive v1.0.188
[INFO] [stderr]   Downloaded url v2.4.1
[INFO] [stderr]   Downloaded trust-dns-client v0.20.4
[INFO] [stderr]   Downloaded everscale-raptorq v1.7.0
[INFO] [stderr]   Downloaded memchr v2.6.3
[INFO] [stderr]   Downloaded serde v1.0.188
[INFO] [stderr]   Downloaded time v0.3.28
[INFO] [stderr]   Downloaded http v0.2.9
[INFO] [stderr]   Downloaded tokio-util v0.7.9
[INFO] [stderr]   Downloaded pest v2.7.3
[INFO] [stderr]   Downloaded hashbrown v0.14.0
[INFO] [stderr]   Downloaded serde_json v1.0.107
[INFO] [stderr]   Downloaded futures-util v0.3.28
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.17
[INFO] [stderr]   Downloaded hyper v0.14.27
[INFO] [stderr]   Downloaded object v0.32.1
[INFO] [stderr]   Downloaded syn v2.0.37
[INFO] [stderr]   Downloaded gimli v0.28.0
[INFO] [stderr]   Downloaded trust-dns-proto v0.20.4
[INFO] [stderr]   Downloaded idna v0.4.0
[INFO] [stderr]   Downloaded curve25519-dalek v4.1.1
[INFO] [stderr]   Downloaded fiat-crypto v0.2.1
[INFO] [stderr]   Downloaded libc v0.2.148
[INFO] [stderr]   Downloaded zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]   Downloaded tokio v1.32.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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] d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94
[INFO] running `Command { std: "docker" "start" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", 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" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", 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" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "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 version_check v0.9.4
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling memchr v2.6.3
[INFO] [stderr]    Compiling semver v1.0.19
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.9
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling platforms v3.1.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling zeroize v1.6.0
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling everscale-raptorq v1.7.0
[INFO] [stderr]    Compiling frunk_core v0.4.2
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling socket2 v0.5.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling dashmap v5.5.3
[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 digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling aes v0.8.3
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling sha2 v0.10.7
[INFO] [stderr]    Compiling zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling tokio v1.32.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling pest v2.7.3
[INFO] [stderr]    Compiling tracing v0.1.37
[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 tl-proto-proc v0.4.3
[INFO] [stderr]    Compiling tokio-util v0.7.9
[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 38s
[INFO] running `Command { std: "docker" "inspect" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", 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" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-task 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 tracing-core v0.1.31
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling itoa v1.0.9
[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 http v0.2.9
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling form_urlencoded v1.2.0
[INFO] [stderr]    Compiling tokio v1.32.0
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling derive_builder v0.9.0
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling time-core v0.1.1
[INFO] [stderr]    Compiling deranged v0.3.8
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling ipnet v2.8.0
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling data-encoding v2.4.0
[INFO] [stderr]    Compiling time v0.3.28
[INFO] [stderr]    Compiling dns-lookup v1.0.8
[INFO] [stderr]    Compiling http-body v0.4.5
[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 radix_trie v0.2.1
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling thread_local v1.1.7
[INFO] [stderr]    Compiling url v2.4.1
[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 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 trust-dns-proto v0.20.4
[INFO] [stderr]    Compiling hyper v0.14.27
[INFO] [stderr]    Compiling tokio-util v0.7.9
[INFO] [stderr]    Compiling everscale-network v0.5.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling derive_builder_core v0.9.0
[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 19s
[INFO] running `Command { std: "docker" "inspect" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", 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" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "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] [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:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[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_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] [stderr]    |                   |
[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] [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: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] [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] [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] [stdout] 
[INFO] [stderr] warning: `everscale-network` (lib test) generated 134 warnings (134 duplicates)
[INFO] [stdout] running 16 tests
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 0.33s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/everscale_network-17dfb863efda64a9)
[INFO] [stdout] test adnl::peers_set::tests::with_peers_greater_than_capacity ... ok
[INFO] [stdout] test adnl::encryption::tests::double_encode ... ok
[INFO] [stdout] test adnl::peers_set::tests::test_iterator ... ok
[INFO] [stdout] test adnl::peers_set::tests::test_overlapping_insertion ... ok
[INFO] [stdout] test adnl::peers_set::tests::test_random_peers ... ok
[INFO] [stdout] test adnl::peers_set::tests::with_peers_same_size_as_capacity ... ok
[INFO] [stdout] test proto::adnl::tests::correct_addr_conversion ... ok
[INFO] [stdout] test adnl::peers_set::tests::with_peers_less_than_capacity ... ok
[INFO] [stdout] test rldp::compression::tests::correct_compression ... ok
[INFO] [stdout] test dht::buckets::tests::same_affinity ... ok
[INFO] [stdout] test util::address_list::tests::correct_port_update ... ok
[INFO] [stdout] test adnl::peer::tests::correct_addr_pack ... ok
[INFO] [stdout] test adnl::peers_set::tests::test_entries_replacing ... ok
[INFO] [stdout] test adnl::channel::tests::test_encrypt_decrypt ... ok
[INFO] [stderr]    Doc-tests everscale_network
[INFO] [stdout] test adnl::peers_set::tests::test_full_entries_replacing ... ok
[INFO] [stdout] test adnl::peers_set::tests::test_insertion ... 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/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_ext (line 85) ... 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<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/rldp/mod.rs - rldp::NetworkBuilder<L,(A,R)>::with_rldp (line 55) ... ok
[INFO] [stdout] test src/overlay/mod.rs - overlay::node_impl::NetworkBuilder<L,(A,R)>::with_overlay (line 60) ... ok
[INFO] [stdout] test src/adnl/mod.rs - adnl::NetworkBuilder<L,(A,R)>::with_message_subscriber (line 275) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.21s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94", kill_on_drop: false }`
[INFO] [stdout] d364fce5797593e4182de1c3db48af6ba96601ffc6577865dd4b1e8753ac9c94
