[INFO] fetching crate everscale-network 0.5.5...
[INFO] checking everscale-network-0.5.5 against 1.95.0 for pr-155915
[INFO] extracting crate everscale-network 0.5.5 into /workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate everscale-network 0.5.5 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded smallvec v1.11.1
[INFO] [stderr]   Downloaded tracing-log v0.1.3
[INFO] [stderr]   Downloaded thiserror-impl v1.0.48
[INFO] [stderr]   Downloaded tl-proto-proc v0.4.3
[INFO] [stderr]   Downloaded hyper-system-resolver v0.5.0
[INFO] [stderr]   Downloaded tl-scheme v0.2.0
[INFO] [stderr]   Downloaded dns-lookup v1.0.8
[INFO] [stderr]   Downloaded crc v3.0.1
[INFO] [stderr]   Downloaded curve25519-dalek-derive v0.1.0
[INFO] [stderr]   Downloaded everscale-crypto v0.2.0
[INFO] [stderr]   Downloaded tl-proto v0.4.3
[INFO] [stderr]   Downloaded deranged v0.3.8
[INFO] [stderr]   Downloaded enum-as-inner v0.3.4
[INFO] [stderr]   Downloaded async-trait v0.1.73
[INFO] [stderr]   Downloaded pest_generator v2.7.3
[INFO] [stderr]   Downloaded platforms v3.1.2
[INFO] [stderr]   Downloaded derive_builder_core v0.9.0
[INFO] [stderr]   Downloaded semver v1.0.19
[INFO] [stderr]   Downloaded zeroize v1.6.0
[INFO] [stderr]   Downloaded ahash v0.8.3
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.8
[INFO] [stderr]   Downloaded pest_derive v2.7.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.67
[INFO] [stderr]   Downloaded data-encoding v2.4.0
[INFO] [stderr]   Downloaded public-ip v0.2.2
[INFO] [stderr]   Downloaded crc-catalog v2.2.0
[INFO] [stderr]   Downloaded frunk_core v0.4.2
[INFO] [stderr]   Downloaded derive_builder v0.9.0
[INFO] [stderr]   Downloaded base64 v0.21.4
[INFO] [stderr]   Downloaded trust-dns-client v0.20.4
[INFO] [stderr]   Downloaded sha2 v0.10.7
[INFO] [stderr]   Downloaded hashbrown v0.14.0
[INFO] [stderr]   Downloaded pest v2.7.3
[INFO] [stderr]   Downloaded time v0.3.28
[INFO] [stderr]   Downloaded aes v0.8.3
[INFO] [stderr]   Downloaded memchr v2.6.3
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.17
[INFO] [stderr]   Downloaded everscale-raptorq v1.7.0
[INFO] [stderr]   Downloaded pest_meta v2.7.3
[INFO] [stderr]   Downloaded gimli v0.28.0
[INFO] [stderr]   Downloaded trust-dns-proto v0.20.4
[INFO] [stderr]   Downloaded syn v2.0.37
[INFO] [stderr]   Downloaded curve25519-dalek v4.1.1
[INFO] [stderr]   Downloaded socket2 v0.5.4
[INFO] [stderr]   Downloaded tokio-util v0.7.9
[INFO] [stderr]   Downloaded thiserror v1.0.48
[INFO] [stderr]   Downloaded fiat-crypto v0.2.1
[INFO] [stderr]   Downloaded tokio v1.32.0
[INFO] [stderr]   Downloaded libc v0.2.148
[INFO] [stderr]   Downloaded zstd-sys v2.0.8+zstd.1.5.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a6c797e9c1e5c3d57d30a937bfe2fbd4ec153a5ba8d3726760975a41b1073201
[INFO] running `Command { std: "docker" "start" "-a" "a6c797e9c1e5c3d57d30a937bfe2fbd4ec153a5ba8d3726760975a41b1073201", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6c797e9c1e5c3d57d30a937bfe2fbd4ec153a5ba8d3726760975a41b1073201", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6c797e9c1e5c3d57d30a937bfe2fbd4ec153a5ba8d3726760975a41b1073201", kill_on_drop: false }`
[INFO] [stdout] a6c797e9c1e5c3d57d30a937bfe2fbd4ec153a5ba8d3726760975a41b1073201
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 922c20413314d013be2b87d87f941c80140e91d2d38f0378c8887708fbc11861
[INFO] running `Command { std: "docker" "start" "-a" "922c20413314d013be2b87d87f941c80140e91d2d38f0378c8887708fbc11861", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]     Checking smallvec v1.11.1
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling semver v1.0.19
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]    Compiling crc-catalog v2.2.0
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]    Compiling crc v3.0.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling platforms v3.1.2
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling derive_builder v0.9.0
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking zeroize v1.6.0
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking data-encoding v2.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking deranged v0.3.8
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking hashbrown v0.14.0
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking socket2 v0.5.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking dns-lookup v1.0.8
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking everscale-raptorq v1.7.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking frunk_core v0.4.2
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking base64 v0.21.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]     Checking time v0.3.28
[INFO] [stderr]    Compiling zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking sha2 v0.10.7
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.3
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling enum-as-inner v0.3.4
[INFO] [stderr]     Checking futures-util v0.3.28
[INFO] [stderr]     Checking tokio v1.32.0
[INFO] [stderr]    Compiling pest v2.7.3
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]     Checking zstd v0.12.4
[INFO] [stderr]    Compiling derive_builder_core v0.9.0
[INFO] [stderr]    Compiling pest_meta v2.7.3
[INFO] [stderr]    Compiling pest_generator v2.7.3
[INFO] [stderr]     Checking tokio-util v0.7.9
[INFO] [stderr]    Compiling pest_derive v2.7.3
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]    Compiling tl-scheme v0.2.0
[INFO] [stderr]     Checking trust-dns-proto v0.20.4
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]    Compiling tl-proto-proc v0.4.3
[INFO] [stderr]     Checking tl-proto v0.4.3
[INFO] [stderr]     Checking everscale-crypto v0.2.0
[INFO] [stderr]     Checking trust-dns-client v0.20.4
[INFO] [stderr]     Checking everscale-network v0.5.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hyper-system-resolver v0.5.0
[INFO] [stderr]     Checking 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] [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 `dev` profile [unoptimized + debuginfo] target(s) in 47.41s
[INFO] running `Command { std: "docker" "inspect" "922c20413314d013be2b87d87f941c80140e91d2d38f0378c8887708fbc11861", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "922c20413314d013be2b87d87f941c80140e91d2d38f0378c8887708fbc11861", kill_on_drop: false }`
[INFO] [stdout] 922c20413314d013be2b87d87f941c80140e91d2d38f0378c8887708fbc11861
